我正在使用
NSMutableURLRequest *request = [self requestWithMethod:@"GET" path:@"paths/" parameters:params];
AFJSONRequestOperation *jsonRequest = [AFJSONRequestOperation
JSONRequestOperationWithRequest:request success:^(NSURLRequest *request,
NSHTTPURLResponse *response, id JSON) {
// something to do here in case of success
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON
{
// and something there in case of failure
}
一切正常,但在一种情况下,当我收到 400状态代码的回复,以及包含有关此错误的一些信息的JSON
(有效,我已检查过)时,正如我可以看到使用浏览器。
但是JSONRequestOperationWithRequest
会调用成功块,而JSON
和响应都是零。
什么可能导致这种情况?
答案 0 :(得分:5)
如果requestOperation在完成后出现关联错误,则会调用失败。出错的原因包括响应具有不正确的内容类型,没有可接受的状态代码(默认情况下为2XX范围,但可以使用AFHTTPRequestOperation +addAcceptableStatusCodes:
更改),或者处理下载的数据时出错。这是行为保证。
作为failure
块的一部分,您可以在400响应中获取JSON对象,并且您可以在nil
中获得success
JSON。这些都与AFNetworking的工作方式一致。