0

我正在寻找一种在 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 并且这个纯文本:“请求正文中的格式错误的传输”。prn在服务器端,路由中的函数不会记录任何内容。

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

4

0 回答 0