AFNetworking - JSONRequestOperationWithRequest成功获得400状态代码

时间:2013-05-17 15:01:21

标签: iphone ios json afnetworking

我正在使用

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和响应都是零。 什么可能导致这种情况?

1 个答案:

答案 0 :(得分:5)

如果requestOperation在完成后出现关联错误,则会调用失败。出错的原因包括响应具有不正确的内容类型,没有可接受的状态代码(默认情况下为2XX范围,但可以使用AFHTTPRequestOperation +addAcceptableStatusCodes:更改),或者处理下载的数据时出错。这是行为保证。

作为failure块的一部分,您可以在400响应中获取JSON对象,并且您可以在nil中获得success JSON。这些都与AFNetworking的工作方式一致。