2016-11-14 7 views
2

ClojureScriptでAJAX POSTを実装しようとしています。ClojureScript AJAX jsonデータを送信する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"} 
    } 
    ))) 

を使用していたコードです。フォーム送信?また、ポストリクエストがURLに当たっていますが、jsonデータは存在しません。

+0

[Access-Control-Allow-Origin](https://www.w3.org/TR/access-control/#access-control-allow-origin-response-header)は**レスポンス**ヘッダーですリクエストヘッダーではなく、リクエストでは役に立たない。 – Marcs

+0

'POST 'はどこから来ますか?おそらくいくつかの図書館からですか? – Dan

+0

POSTはcljs-ajaxライブラリの一部です – zain

答えて

2

データの送信にcljs-ajaxを使用しているとします。

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

あなただけだけ(デフォルトは:transitある)データ形式として:jsonを設定し、のparamsとしてプレーンなClojureのオブジェクトを渡すことができます:あなたは本当にこのようなもので必要なもの

2番目の質問は、むしろ開いており、セットアップによって異なります。私は使用するのが最も簡単なのはreagentだと思いますが、ここではフォームデータを送信するといいexampleです。

+0

私はheader:{"Accept" "application/json":content-type "application/json; charset = utf-8"}が見つからないと思います – zain

関連する問題