Last active
August 29, 2015 14:27
-
-
Save edipofederle/84ebea07db68021cedaa to your computer and use it in GitHub Desktop.
cljs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; 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