2013-02-16 52 views
0

我有奇怪的问题与AFHTTPClient,我发送POST请求喜欢AFHTTPClient预期的状态码(200-299),有409

NSURL *u = [NSURL URLWithString:HTTP_SERVER]; 
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL: u]; 
[httpClient setParameterEncoding:AFJSONParameterEncoding]; 
[httpClient postPath:REGISTER 
      parameters:params 
      success:^(AFHTTPRequestOperation *operation, id JSON) { 
       int statusCode = [operation.response statusCode]; 
       if(statusCode == 201){ 
        [self performSegueWithIdentifier:@"register" sender:self]; 
       } 
      } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
       NSLog(@"[HTTPClient Error]: %@", error.localizedDescription); 
      }]; 

和服务器工作正常(在某些情况下,服务器需要回答我代码409,API是以这种方式制作的),但是我在XCode中出现错误,如Expected status code in (200-299), got 409 如何解决此问题(我的手绑定了,我无法更改API和错误代码)?

+1

[error userInfo]会给你更多关于错误的信息。 – Inoka 2013-02-18 10:30:06

回答

0

基于this

你有两个选择:

  • 附加状态码409到可接受状态代码列表,并在成功块(坏)收到

  • 应对故障块状态码409 (好)

对于后者,如果你的[operation.response statusCode]是409,你可以使用responseDataAFURLConnectionOperation(的AFHTTPRequestOperation超,你将需要导入它的头这个工作)。

相关问题