1

我在用着

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并且响应为零。什么可能导致这种情况?

4

1 回答 1

5

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

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

于 2013-05-22T19:44:18.320 回答