AFNetworking 2.0
以前のバージョンをしばらく使用していた新しい API を使い始めたところです。ボグスタンダードをやろうとしていますhttp POST request
が、残念ながらうまくいきません。これは私の現在のコードです:
AFHTTPRequestOperationManager *operationManager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"username" : self.usernameField.text,
@"password" : self.passwordField.text};
[operationManager POST:@"https:URL GOES HERE" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", [responseObject description]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
現在、これはJSON
ofを返し(NULL)
、ステータス コードのようなものは返されません404
(ちなみに、AFN 2.0 を使用している場合、ステータス コードはどのように取得しますか?)。ただし、私のためにテストするapikitchen.comHTTP Post request
のような Web アプリで情報を試すと、フィールドにユーザー名とパスワードを入力すると機能しparam
ます。本当に私の質問は、Web アプリと同じように行動parameters
しないのはなぜですか? そして、より一般的には、なぜ私のために働いていないのですか?AFN 2.0 parameter property
parameters
post request parameters
AFN 2.0
前もって助けてくれてありがとう、
マイク
編集:提案された修正の実装に苦労しています。私の Post メソッドは次のようになりましたが、今のところ意味がありません。
AFHTTPRequestOperationManager *operationManager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"username" : self.usernameField.text,
@"password" : self.passwordField.text};
operationManager.requestSerializer.queryStringSerializationWithBlock =
^NSString*(NSURLRequest *request,
NSDictionary *parameters,
NSError *__autoreleasing *error) {
NSString* encodedParams = form_urlencode_HTTP5_Parameters(parameters);
return encodedParams;
};
[operationManager POST:@"URL HERE" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", [responseObject description]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];