錯誤1.?Code=-1006、unacceptable text/html
輸出結(jié)果是:(已省略無關(guān)信息)Error Domain=com.alamofire.error.serialization.response Code=-1016"Request failed: unacceptable content-type: text/html"
此錯誤意思是不能接收的返回值類型:text/html,即服務(wù)器返回了一個text/html類型的返回值。
出現(xiàn)原因為AFN本身不能接受這種類型,默認(rèn)接收類型只有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的格式不正確。
出現(xiàn)原因是服務(wù)器返回的數(shù)據(jù)并非Json,但是AFN卻當(dāng)成Json去強行解析,那報錯就不足為奇了。
解決方案:
AFHTTPSessionManager*manager=[AFHTTPSessionManager manager];
manager.responseSerializer=[AFHTTPResponseSerializer serializer];
錯誤3.?response Code=-1011 "Request failed: bad request (400)"
出現(xiàn)原因是客戶端請求參數(shù)問題,一般通過以下2句代碼,可以找出錯誤參數(shù)
在錯誤回調(diào)里,打印出錯誤日志:
?NSData *data = error.userInfo[@"com.alamofire.serialization.response.error.data"] ;
?NSString *errorStr = [[ NSString alloc ] initWithData:data encoding:NSUTF8StringEncoding];