Error Domain=com.alamofire.error.serialization.response Code=-1016

有时候用AFNet进行网络请求出会出现错误Error Domain=com.alamofire.error.serialization.response Code=-1016 

如下图所示:

Error Domain=com.alamofire.error.serialization.response Code=-1016_第1张图片


理解为 客户端不能解析服务段返回的数据:

(PS:题外话,出现这个问题其实是后台开发人员的锅,没搞好返回样式)

几年前用ASI是可以解析数据的,现在用AFNet,需要我们手动添加解析格式“text/html”;

看到有些技术博文讲到,要进入AFNet 的源文件AFURLResponseSerialization.m中添加代码;这种方法当然行,但是我们尽量不要改已经成型的源代码,所以我们需要在使用AFNet的地方手动添加:manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"]; 即可


形如:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 


manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];//设置相应内容类型 


[manager POST:url parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { 


} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 


}]; 

你可能感兴趣的:(ios)