AFNetworking 请求失败时,获取服务器返回信息

AF2.0

AFHTTPRequestOperation *operation =[[AFHTTPRequestOperation alloc]initWithRequest:request]; [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation,idresponseObject) { success(operation, responseObject); }

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

//通讯协议状态码NSIntegerstatusCode = operation.response.statusCode;

//服务器返回的业务逻辑报文信息NSDictionary*dict = operation.responseObject; failure(operation,error);

}]


AF3.0

[manager POST:urlStr parameters:parameters progress:nilsuccess:^(NSURLSessionDataTask* _Nonnull task,id_Nullable responseObject)

{ success(manager,responseObject); }

failure:^(NSURLSessionDataTask* _Nullable task,NSError* _Nonnull error) {

NSHTTPURLResponse*response = (NSHTTPURLResponse*)task.response;

//通讯协议状态码NSIntegerstatusCode = response.statusCode;

//服务器返回的业务逻辑报文信息

NSString* errResponse = [[NSStringalloc] initWithData:(NSData*)error.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] encoding:NSUTF8StringEncoding];

NSDictionary*json = [errResponse dictionaryValue];

failure(task,error);

}]

注意:

上面记得多添加字典为空的判断,字典为空可能压根没有连上服务器,可能网络失败等原因

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 姓名:邢喜全 公司:宁波大发化纤有限公司 组别:第235期 感谢一组 【日精进打卡第 65天】 【知~学习】 听大...
    天上人间_3c17阅读 166评论 0 0
  • 很久不联系的江同学突然给我打电话,很是惊讶,原来他司考过后又打算考研,这不,快要被逼疯的他想起来我这个老同学了。江...
    陶之夭夭1阅读 446评论 1 2