登録データをサーバーに送信するために、JSONを使用しています。次の形式です。
_{"regData": {
"City":"Some City",
"Country":"Some Country",
"Email_Id":"[email protected]",
"MobileNumber":"+00xxxxxxxxxx",
"UserName":"Name Of user"
}
}
_
送信方法は次のとおりです。
_ NSURL * url = [[NSURL alloc] initWithString:registerUrlString];
AFHTTPClient * httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
httpClient.parameterEncoding = AFJSONParameterEncoding;
[[AFNetworkActivityIndicatorManager sharedManager] setEnabled:YES];
NSDictionary * params = @{@"regData": @{
@"City": self.cityField.text,
@"Country": self.countryField.text,
@"Email_Id": self.emailField.text,
@"MobileNumber": self.numberField.text,
@"UserName": self.userName.text,
}
};
NSMutableURLRequest * request = [httpClient requestWithMethod:@"POST" path:registerUrlString parameters:params];
AFHTTPRequestOperation * operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
NSLog(@"Success: %@", JSON);
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
NSLog(@"Error: %@", [error debugDescription]);
}];
[operation start];
_
しかし、残念ながら、このエラーが発生します。
Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (JSON text did not start with array or object and option to allow fragments not set.) UserInfo=0x94b3c30 {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}
あなたの要求は大丈夫です。サーバーが無効なJSONオブジェクトで応答しているため、エラーError Domain=NSCocoaErrorDomain Code=3840
が返されます。 NSLog
operation.responseString
は、何が返送されているかを確認します。
実際のエラーを取得するには、これを試してください
NSLog(@"Error: %@", [error debugDescription]);
NSLog(@"Error: %@", [error localizedDescription]);