ios获取网络请求失败相关数据
很多时候和后台处理数据的时候很多时候后台会在网络请求失败的某些不同情况下带回不同的数据这个时候如何获取数据及拿到需要处理的数据:
//如果请求失败 对象是NSURLSessionDataTask * _Nullable task或者是NSURLResponse *response的话,请吧NSURLSessionDataTask转换成NSHTTPURLResponse,这样才能拿到reponse的返回头中相对应的数据
NSHTTPURLResponse * HTTPresponses = (NSHTTPURLResponse *)task.response;
//下边的400是我们前后台约定的如果返回400的时候部分数据在返回失败的时候给我带回来
//error.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey]在这里是后台通过error给我们回调回来的数据获取方式
if ((HTTPresponses.statusCode == 400) && error.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey]) {
NSData *errorData = error.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey];
NSDictionary *serializedData = [NSJSONSerialization JSONObjectWithData: errorData options:kNilOptions error:nil];;
}