传输格式的客户端 - 服务器往返

时间:2016-09-24 20:20:46

标签: ajax clojure clojurescript compojure transit

我正在寻找一种在ClojureScript浏览器客户端和Clojure服务器之间方便地交换Clojure数据结构的方法。

目前我在前端使用cljs-ajax,在后端使用ring / compojure + transit-middleware。

到目前为止,我只是通过这种方式获得服务器响应。但是,这是一个往返代码,目前有些麻烦:

客户端:

(def data {:nested #{(rand-int 1000)}})

(POST "/round" {:params data
                :response-format :transit
                :format :transit
                :handler #(js/alert (= data %))}))

以及相关的服务器代码:

(defroutes main-routes
  (POST "/round" {p :params} (do (prn p)
                                 (response p))))

(def app
  (-> main-routes
      (wrap-transit-body {:keywords? true})
      (wrap-transit-response)
      (wrap-transit-params)))

我期待这个服务器代码回显数据结构。浏览器开发人员工具显示服务器响应实际上是400并且这个纯文本:"请求正文中的格式错误的Transit。"在服务器端,路由中的prn函数不会记录任何内容。

有人知道如何解决这个问题吗?

0 个答案:

没有答案