如果失败,我有这个代码:
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON)
我想记录返回的字符串。我应该从哪个变量中做到这一点以及如何做到这一点?
如果失败,我有这个代码:
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON)
我想记录返回的字符串。我应该从哪个变量中做到这一点以及如何做到这一点?
因此,通常您想要打印错误,这将打印您的服务器报告为错误的任何内容。当它收到错误的类型(纯文本而不是 application/json)或状态码 > 400(如 (404, 401) 之类的东西)时,会触发失败消息。
如果您正在进行错误检查,您应该在响应标头中设置状态码,然后将其与返回数据进行比较,response.statusCode
或者很可能在您返回数据时,您应该在成功块中进行错误检查。
如果您绝对需要从响应中访问 responseString,您可以使用operation.responseString
where 操作是 AF 请求操作。
更新
这是来自https://github.com/AFNetworking/AFNetworking/issues/137的@mattt 的示例:
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Friend Request Sent");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"[Error]: (%@ %@) %@", [operation.request HTTPMethod], [[operation.request URL] relativePath], operation.error);
}];