公司有个注册界面要做, 由于加了电话号码字段,而这个字段后台是用表单的形式写的后台数据;他的数据格式是application/x-www-form-urlencoded;charset=UTF-8
![](https://img.haomeiwen.com/i1904756/f27e7799032627c9.png)
这种格式不是我们常见的JSON数据格式,他可以说是JSON的一种,但又有别与JSON.我按照平常发送请求的方式发,会报请求失败错误.其他地方发POST请求都能成功的.后来跟安卓那哥们讨论,他能请求成功,他看了我打印的
![](https://img.haomeiwen.com/i1904756/285e49c6de43dc75.png)
content -type 告诉我说content -type 要为application/x-www-form-urlencoded;charset=UTF-8 这个,说我的不对,所以请求不到.而我查了大量的资料, 得出的结论 AFN中content -type 是按照你传入的参数的格式决定的.这我老是想着改content -type,相悖.
我搞iOS的朋友告诉我说只要加上这句就可以了
```objc
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager.requestSerializer setValue:@"application/x-www-form-urlencoded;charset=utf-8" forHTTPHeaderField:@"Content-Type"];
```
我加了,可是还是失败,包括我百度的也说加这句就OK,但事实上还是请求失败.
我也尝试了对每个参数,甚至URL都进行UTF-8编码转换单还是不行.
```objc
NSString *urlStr = [NSString stringWithFormat:FF_revisePersonalInformation,FF_doname,userToken,strJson,userName,nil];
urlStr= [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
```
我都试过所以方法,并且用KVC了,把Key写成Content-Type,结果程序直接崩掉了,报方法找不到
最后只要加上这个 就OK了
![](https://img.haomeiwen.com/i1904756/a734180333540c49.jpg)
请注意看 这代码不要写错了.这就请求成功了! 最后我只能说压力下,能让你想尽一切办法去解决问题.
网友评论