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参数?
谢谢
发送前 先转换为json字符串 会不会好些?
'states[]': [ '1', '2', '3' ]
表明
states[0] = '1'
states[1] = '2'
states[2] = '3'
server 端已经能取值了
parameters = @{@"states":@[@1,@2,@3]};
不应该直接传数组,因为对于PHP这样的后台语言,@"a[sf]=1"到了后台拿到的是一个数组,并不是像我们前端一样是一个字符串。而且前端接口中直接传数组也是不合理的,建议让后台修改为按一定的规则来拼接。比如1|2|3代替数组。