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

2018-06-06  本文已影响0人  ZebZheng

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);

}]

注意:

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

上一篇 下一篇

猜你喜欢

热点阅读