clojure - Clojurescript ajax post always returning nil value -


i have atom vector of maps describes starting messages,like this...

 (def messages (atom [{:message "hello world"  :user    "foo"} {:message "ajax fun"  :user    "bar"}]))  

i have routes set this...

(defroutes home-routes   (get "/messages" [] (response/edn @messages))  (post "/add-message" [message user]     (response/edn      (swap! messages conj {:message message :user user})))) 

in clojurescript file have this...

(defn render-message [{:keys [message user]}] [:li [:p {:id user} message " - " user]])  (defn render-messages [messages] (let [messages-div (domina/by-id "messages")] (destroy-children! messages-div) (->> messages     (map render-message)     (into [:ul])     template/node     (append! messages-div))))    (defn by-id [id] (.getelementbyid js/document id))  (defn add-message [] (post "/add-message"     {:format :edn     :params {:message (value (by-id "message"))              :user    (value (by-id "user"))}     :handler render-messages     }))   (defn ^:export run []    (get "/messages" {:handler render-messages})  (listen! (by-id "send")       :click add-message)  )  

and html...

 <html>  <head></head>  <body>   <div id="messages"></div>  <textarea id="message"></textarea>  <br/>  <input type="text" id="user"></input>  <br/>  <button id="send">add message</button>   <script type="text/javascript" src="hello.js"></script> <script type="text/javascript">   cfi_webservice.home.run(); </script>  </body> </html> 

render message function used append new input div,so problem when click on button send id new li added ul empty parameters...it nil.i guessing add-message function not alright because neither parameter sent /add-message route.can problem?

instead of :format :edn used :format :raw , working now.


Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -