序列化形式Clojurescript
我提交通過Clojurescript一個簡單的,小的形式(通過我的Clojure/Luminus公司服務器接收)。如果我只是一個提交按鈕提交表單,我可以看到,響應包括這樣的部分:Clojurescript連載形式AJAX POST
:form-params {__anti-forgery-token TDsE55j9y7d1dT2eWOGnmECMnnNXWo5tIDVzENc9lr1aiJSqOKIVmmmq/XmaC2M6GHN086+VeROwi7up, app-type professorial}
但是,當我與CLJS阿賈克斯後,我看到:
; ...
:body #object[java.io.ByteArrayInputStream 0x23bbfd9d [email protected]]
:form-params {}
; ...
因此,一旦它顯示到服務器上,表單就會被放入一個ByteArrayInputStream中。阿賈克斯/ clojurescript代碼如下所示:
(defn submit-update-form []
(let [form (.getElementById js/document "userform")
url "/update-user"
csrf-token (.-value (.getElementById js/document "token"))]
(.log js/console form)
(POST url {:handler #(js/alert "Submission!")
:content-type "application/x-www-form-urlencoded"
:body form
:headers {:x-csrf-token csrf-token}})
;(.submit form)
false))
顯然,我需要以某種方式把序列化形式的內容到:該職位的形式-PARAMS。如何才能做到這一點?
我的處理程序代碼,我試圖讓這個啓動和運行是死的簡單:
(POST "/update-user" req
(println req))
我已經試過這一點,但我的服務器仍然記錄了同樣的要求:內容 - 鍵入application/transit + json,form-params {}和一個ByteArrayInputStream作爲正文。這是Luminus的默認中間件。 – WorldsEndless
你可以發佈你的「/ update-user」的處理程序代碼嗎? – mavbozo
完成;它只是打印請求。 – WorldsEndless