Рассмотрим следующую составную маршрутизацию:
(defroutes main-routes
(POST "/something" r {:body (prn-str (:params r))}))
(def handler
(-> main-routes
(wrap-params)))
При тестировании этого с помощью curl
я получаю желаемый результат:
curl -d "a=b" localhost:3000/something
{"a" "b"}
Параметры Post считываются compojure и помещаются в карту параметров.
Однако это не работает с запросом ajax, инициированным библиотекой cljs-ajax:
(POST "/something" {:handler #(js/alert %)
:params {"a" "b"}})
Он оповещает "{}
". Однако при изменении кода для использования GET он работает. Я предполагаю, что это связано с тем, что браузер отправляет тело как входной поток, а не как обычный текст. Но я не уверен и не знаю, как это исправить.
{... :format :raw ...}
в вызове cljs-ajax? - person jsonmurphy   schedule 20.09.2016PUT
вместоPOST
? Просто говорю. - person Marcs   schedule 21.09.2016