2012-10-10 63 views
0

當我請求數據從服務器AFHHTPClient這樣:AFHTTPClient postPath回報AFHTTPRequestOperation代替AFJSONRequestOperation

[[NetworkHelper sharedHelper] postPath:path parameters:parameters] success:^(AFHTTPRequestOperation *operation, id responseObject) { 
       NSLog(@"%@", [operation class]); 
       NSLog(@"%@", [responseObject class]); 
      } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
       NSLog(@"%@", [error localizedDescription]); 
      }]; 

我得到這個:

2012-10-10 13:24:36.881 MyApp[4635:c07] AFHTTPRequestOperation 
2012-10-10 13:24:36.881 MyApp[4635:c07] NSConcreteData 

我試圖強迫application/json內容類型的服務器響應,但我仍然有AFHTTPRequestOperation

但是,如果我用這個:

[[AFJSONRequestOperation JSONRequestOperationWithRequest:[NSURLRequest requestWithURL:myURL] success:^(NSURLRequest *request, NSURLResponse *response, id JSON) { 
       NSLog(@"%@", JSON); 
      } failure:^(NSURLRequest *request, NSURLResponse *response, NSError *error, id JSON) { 
       NSLog(@"%@", [error localizedDescription]); 
      }] start]; 

我JSON性反應,我需要。

我應該怎麼做才能使用AFHTTPClient獲得JSON響應?

UPDATE:

- (BOOL)hasAcceptableContentType方法AFHTTPRequestOperation類添加NSLog(@"%@",[self.response MIMEType]);,我收到

2012-10-11 09:48:25.052 MyApp[3339:3803] application/json 

,但我仍然得到AFHTTPRequestOperation類。

回答

0

嘗試設置AFHTTPRequestOperation:acceptableContentTypes:

+ (NSSet *)acceptableContentTypes { 
    return [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", nil]; 
} 
+0

我應該怎麼做呢? :)我試圖把它放在我的NetworkHelper類實現中,但它沒有調用,所以我強制調用它,但它沒有幫助。 –

+0

你必須在你的AFHTTPRequestOperation子類中實現它(就像它在AFJSONRequestOperation中那樣),或者直接在AFHTTPRequestOperation [Screenshot](http://screencast.com/t/ZJFMRcZl6n) – rudensm

+0

它不會幫助:( –

0

我有,我懷疑可能是與AFJSONRequestOperation處理響應的方式同樣的問題。

我使用AFJSONRequestOperation使用NSMutableURLRequest從[AFHTTPClient clientRequestWithMethod]返回,並構建自己的NSMutableURLRequest派出完全相同的請求,並各自具有不同的MIME類型的響應 - 從[AFHTTPClient clientRequestWithMethod]的一個指示純文本/ ;來自NSMutableURLRequest構建的「手工」是text/json。

我在這個問題在這裏提到了這一點:

AFNetworking with AFHTTPClient with AFJSONRequestOperation // MIME-Type Issues