I have a simple form for updating user data, but I'm having some embarrassing difficulties.
:form-params {}, :content-type application/transit+json; and :body #object[java.io.ByteArrayInputStream 0x675ca573 java.io.ByteArrayInputStream@675ca573], regardless of how I try to change these manually.(defn submit-update-form []
(let [form (.getElementById js/document "userform")
url "/update-user"
;_ (.log js/console form-data)
csrf-token (.-value (.getElementById js/document "token"))]
(POST url {;;:handler #(js/alert (str "Submission!" %))
;:format "application/x-www-form-urlencoded"
:body (js/FormData. form)
:response-format (raw-response-format) ; Doesn't seem to be heeded
:headers {:x-csrf-token csrf-token
;:content-type "application/x-www-form-urlencoded"
}
})))
(defn user-page []
[:div.container.user-account
[:h1 (ttd/get-user-detail :username)]
[:form.container.user-account {:id "userform"
;:on-submit #(submit-update-form)
:method "post"
:action "/update-user"
}
[:input {:type "hidden" :name "__anti-forgery-token" :value (.-value (.getElementById js/document "token"))}]
[:fieldset.email
[:legend "Contact Information"]
[:span.email (label-classes) "Email"]
[:input.email {:name "email" :type "text" :defaultValue (ttd/get-user-detail :email)}]]
[:p.bottom-gap]
[:input.btn.btn-info {:type "submit" :value "Update"}]
[:a.btn.btn-danger {:href "/"} "Cancel"]
[:button.btn.btn-warning {:on-click #(js/alert "Logging out is not supported at this time")} "Log Out"]]
])
(POST "/send-message"
{:headers {"Accept" "application/transit+json"}
:params {:message "Hello World"
:user "Bob"}
:handler handler
:error-handler error-handler})