ClojureScript AJAX POST发送一个json数据

时间:2016-11-14 21:24:51

标签: json ajax clojure clojurescript

我正在尝试在ClojureScript中实现AJAX POST。

以下是我正在使用的代码

(defn handler [response]
     (.log js/console (str response)))

(defn test-post [name email]
   (let [data {:name name :email email}]
   (POST "http://localhost:5000/Add/"
    {
     :format {"Accept" :json}
     :body (.stringify js/JSON (clj->js data))
     :handler handler
     :error-handler (fn [r] (prn r))
     :response-format {"Content-Type" "application/json;charset=utf-8"}
     }
    )))

我何时调用Post方法。在表格上提交?此外,post请求正在访问url,但json数据不存在。

1 个答案:

答案 0 :(得分:2)

我假设您使用cljs-ajax发送数据。

你真正需要的东西是这样的:

(let [data {:name name :email email}]
 (POST "/Add"
  {:format :json
   :params data
   :handler handler
   :error-handler (fn [r] (prn r))})))

您可以将普通的Clojure对象作为参数传递,只需将:json设置为数据格式(默认为:transit)。

第二个问题是相当开放的,取决于你的设置。我认为最简单的用途是reagent,这里有一个很好的example,可以发送表单数据。