有时候用AFNet进行网络请求出会出现错误:Error Domain=com.alamofire.error.serialization.response Code=-1016
如下图所示:
理解为 客户端不能解析服务段返回的数据:
(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) {
}];