近期在做项目时遇到了一个问题:服务器不能识别iOS客户端的网络请求(我用的是AFNetwoking 3 ),后来得知,服务器上用的是Ajax请求方式和普通的异步请求有所区别,有一个tp判断,需要在AFHTTPSessionManager的header中新增一个字段:X-Requested-With,服务器才能识别为ajax请求,具体实现如下直接贴代码了:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager.requestSerializer setValue:@"XMLHttpRequest" forHTTPHeaderField:@"X-Requested-With"];
如果返回的是JavaScript对象,那么还需要序列化对象,才能在responseObject中接受到数据。序列化:
manager.responseSerializer = [AFHTTPResponseSerializer serializer];