0

この方法でAFHHTPClientを使用してサーバーからデータを要求すると:

[[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サーバーの応答で content-typeを強制しようとしましたが、まだ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 応答を取得するにはどうすればよいですか?

アップデート:

クラスNSLog(@"%@",[self.response MIMEType]);- (BOOL)hasAcceptableContentTypeメソッドを追加すると、受信しますAFHTTPRequestOperation

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

しかし、私はまだAFHTTPRequestOperationクラスを取得します。

4

2 に答える 2

0

AFJSONRequestOperation が応答を処理する方法に関係があると思われる同じ問題がありました。

[AFHTTPClient clientRequestWithMethod] から返された NSMutableURLRequest を使用し、独自の NSMutableURLRequest を作成して、AFJSONRequestOperation を使用してまったく同じ要求をディスパッチしました。それぞれに異なる MIME タイプの応答があります。「手で」構築された NSMutableURLRequest からのものは text/json です。

この質問でこれについて言及しました:

AFJSONRequestOperation を使用した AFHTTPClient による AFNetworking // MIME タイプの問題

于 2012-11-01T20:51:47.917 に答える