错误1. Code=-1006、unacceptable text/html
输出结果是:(已省略无关信息)Error Domain=com.alamofire.error.serialization.response Code=-1016"Request failed: unacceptable content-type: text/html"
此错误意思是不能接收的返回值类型:text/html,即服务器返回了一个text/html类型的返回值。
出现原因为AFN本身不能接受这种类型,默认接收类型只有application/json,text/json,text/javascript三种。
解决方案:为AFN添加此接收类型:
AFHTTPSessionManager *manager=[AFHTTPSessionManager manager];
manager.reesponseSerializer.acceptableContentTypes = [NSSet setWithObjects: @"application/json", @"text/json", @"text/javascript",@"text/plain",@"text/html",nil];
错误2. Code=3840、JSON text did not start
NSCocoaErrorDomain Code=3840"JSON text did not start with array or object and option to allow fragments not set."
错误意思是Json并不是以array或者object开始的,换句话说即json的格式不正确。
出现原因是服务器返回的数据并非Json,但是AFN却当成Json去强行解析,那报错就不足为奇了。
解决方案:
AFHTTPSessionManager*manager=[AFHTTPSessionManager manager];
manager.responseSerializer=[AFHTTPResponseSerializer serializer];
错误3. response Code=-1011 "Request failed: bad request (400)"
出现原因是客户端请求参数问题,一般通过以下2句代码,可以找出错误参数
在错误回调里,打印出错误日志:
NSData *data = error.userInfo[@"com.alamofire.serialization.response.error.data"] ;
NSString *errorStr = [[ NSString alloc ] initWithData:data encoding:NSUTF8StringEncoding];
网友评论