GETメソッドを使用してサーバーからファイルを取得すると、次のエラーが表示されます。
Error: Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Invalid value around character 0.) UserInfo=0x16e81ed0 {NSDebugDescription=Invalid value around character 0.}
私はさまざまなことを試してみましたが、取得しようとしているファイルのJSON形式と関係があると考えています。
私が使用しているコードは次のとおりです。
_username = @"JonDoe";
NSDictionary *parameters = @{ @"username" : _username};
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"];
[manager GET:@"http://.........."
parameters:parameters
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
私のPOSTメソッドは正常に動作します。GETでこの問題を解決できないようです。アイデアはありますか?ありがとうございます。
コメントの議論から判断すると、GET要求は成功したように見えます(応答コード200)が、応答本文はAFJSONResponseSerializer
の使用によって要求した有効なJSON(またはJSONフラグメント)ではありません。基本的なAFHTTPResponseSerializer
は、JSONではない応答に使用できます。
サーバーから有効な応答があることはかなり確かですが、おそらく最初の{の前にキャラクターがあるため、応答はJSONの有効な形式ではありません。これを試してください:同じURLアドレスをブラウザに手動で入力すると、応答に犯人が表示されます。それが役に立てば幸いです。