首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在对环后端的GET调用中,使用cljs-ajax作为param发送数组。

在对环后端的GET调用中,使用cljs-ajax作为param发送数组。
EN

Stack Overflow用户
提问于 2015-11-12 14:19:39
回答 1查看 179关注 0票数 1

我正在使用cljs给一个环形后端打一个GET电话。

问题是,我也需要传递一个数组。

cljs-ajax对数组进行如下编码:

代码语言:javascript
复制
?array[0]=one&array[1]=two

ring期望数组编码如下:

代码语言:javascript
复制
?array=one&array=two

因此,使用wrap-params中间件,我不会得到数组,而只会得到不同的键值对({array[0] "one" array[1] "two})。

有解决这个问题的方法吗,还是必须手动解析服务器端的params?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-12 22:04:14

这个限制并不适用于ring或cljs。这是http协议中的一个限制。在GET请求中,params只是?name=val&name=val,没有机制告诉另一端的服务器params表示数据数组--也就是说,区分应该解释为数组的规范名称/值对和名称值对。

因此,您需要手动将环形中间件生成的映射转换为处理程序中的数组。您可以使用启发式实现中间件,该中间件在param名称中查找具有特定‘模式’的get参数,例如#" array [\d+]“,并将它们提取到数组中并插入到params映射中。但是,我认为这是一个模棱两可的问题,除非您需要在许多处理程序中这样做,否则它可能会带来比它解决的更多的问题。

最简单的方法是将您的调用转换为post,而不是get和json。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33673597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档