首页 > AFNetwork请求参数格式问题

AFNetwork请求参数格式问题

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代替数组。

【热门文章】
【热门文章】