gpt4 book ai didi

Clojure 环中间件处理 url 数组

转载 作者:行者123 更新时间:2023-12-03 00:27:29 26 4
gpt4 key购买 nike

ClojureScript cljs-ajax 客户端库将 {:b [1 2]} 转换为 b[0]=1&b[1]=2

例如:

(http/get "http://example.com" {:b [1 2]})

请求的结果:

"http://example.com?b[0]=1&b[1]=2"

如何设置环中间件以在服务器端处理这种格式?我想将其转换回原来的结构:

{:b [1 2]}

我正在使用下面的中间件,但它无法正常工作:

(ring.middleware.keyword-params/wrap-keyword-params)
(ring.middleware.params/wrap-params :encoding encoding)
(ring.middleware.nested-params/wrap-nested-params)

最佳答案

中间件方面没有问题。问题在 cljs-ajax's ajax.core/params-to-str API。它为不同的数据格式生成重复的 URL。

(ajax.core/params-to-str {:b [1 3]})
;; => "b[0]=1&b[1]=3"

(ajax.core/params-to-str {:b {0 1 1 3}})
;; => "b[0]=1&b[1]=3"

对于数组,格式应为b[]=1&b[]=3

关于Clojure 环中间件处理 url 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41124417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com