AFNetwork请求参数格式问题

发布于 2022-09-01 19:02:17 字数 392 浏览 10 评论 0

URL = @"..."
parameters = @{@"states":@[@1,@2,@3]};
    [[AFHTTPRequestOperationManager manager] POST:URL parameters:parameters success:nil failure:nil];

我的parameters字典在服务器端解析出来是

{ 'states[]': [ '1', '2', '3' ] }

而不是预期的

{ 'states': [ '1', '2', '3' ] }

AFN为什么要给参数加上[]?
怎么去掉[]发送正常的states参数?
谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

白龙吟 2022-09-08 19:02:17

发送前 先转换为json字符串 会不会好些?

九命猫 2022-09-08 19:02:17

'states[]': [ '1', '2', '3' ]
表明
states[0] = '1'
states[1] = '2'
states[2] = '3'
server 端已经能取值了

ペ泪落弦音 2022-09-08 19:02:17
parameters = @{@"states":@[@1,@2,@3]};

不应该直接传数组,因为对于PHP这样的后台语言,@"a[sf]=1"到了后台拿到的是一个数组,并不是像我们前端一样是一个字符串。而且前端接口中直接传数组也是不合理的,建议让后台修改为按一定的规则来拼接。比如1|2|3代替数组。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文