Skip to content

Instantly share code, notes, and snippets.

@edipofederle
Last active August 29, 2015 14:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save edipofederle/84ebea07db68021cedaa to your computer and use it in GitHub Desktop.
Save edipofederle/84ebea07db68021cedaa to your computer and use it in GitHub Desktop.
cljs
;; Testando somente o server side funciona OK.
curl -X POST -d "foo=bar" http://localhost:10555/posts
Params: {:foo "bar"}%
;; Client Side
(def ^:private meths
{:get "GET"
:put "PUT"
:post "POST"
:delete "DELETE"})
(defn edn-xhr [{:keys [method url data on-complete]}]
(let [xhr (XhrIo.)]
(events/listen xhr goog.net.EventType.COMPLETE
(fn [e]
(on-complete (reader/read-string (.getResponseText xhr)))))
(. xhr
(send url (meths method) (when data (pr-str data))
#js {"Content-Type" "application/edn"}))))
;; The request:
(edn-xhr
{:method :post
:url (str "posts")
:data {:name "Foo Bar"}
:on-complete
(fn [res]
(println "server response:" res))})
)
;; Server side
(defroutes routes
(resources "/")
(POST "/posts" {params :params} {:status 200 :body (str "Params: " params)})
(resources "/react" {:root "react"})
(GET "/*" req (page)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment