2012-03-15 17 views
3

私はASIHTTPRequestからAFNetworkingに移行しており、問題が発生しました。AFNetworking投稿パラメータのオーバーロード

postパラメータをオーバーロードするリクエストでAPIをヒットしようとしています。私はこれまでにASIFormDataRequestを使用していましたが、このコードを使用して3つのIDを同時に更新しました。

// ASIHTTPRequestCode 
[request addPostValue:@"value1" forKey:@"id"]; 
[request addPostValue:@"value2" forKey:@"id"]; 
[request addPostValue:@"value3" forKey:@"id"]; 

AFNetworkingは、キーと値のペアを格納するNSDictionaryのを使用していますので、これを行う方法をまっすぐ前方にいないようです。何か案は?

答えて

1

を私はすぐにAFNetworkingでこれを行うための直接的な方法を見ることはできませんが、行うことが可能です。

あなたがAFHTTPClient requestWithMethodためのコードを見れば、あなたはパラメータを格納するリクエストボディを設定一つであり、このライン、表示されます:基本的にあなたが空の辞書を渡すことができ

[request setHTTPBody:[AFQueryStringFromParametersWithEncoding(parameters, self.stringEncoding) dataUsingEncoding:self.stringEncoding]]; 

requestWithMethodを入力してから、request setHTTPBodyを呼び出して、AFQueryStringFromParametersWithEncodingと同じ方法で自分自身でクエリ文字列を作ります。

+0

私はこのルートを使わずにこれを理解することを望んでいましたが、今のところ唯一の方法だと思われます。 – lavoy

+0

私は、AFNetworkingの皆さんがこれを行うための良い方法を追加するパッチを受け取りたいと思っています: – JosephH

0

あなたは要求をこのように構築することができます:

NSURL *url = [NSURL URLWithString:@"http://www.mydomain.com/"]; 
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url]; 

NSDictionary *postValues = [NSDictionary dictionaryWithObject:[NSString stringWithFormat:@"%@,%@,%@",@"value1",@"value2",@"value3"] forKey:@"id"]; 

NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:@"/path/to/your/page.php" postValues]; 
+0

すべてのキーを設定します私の問題を解決するためにこれと同じでなければなりません。 – lavoy

+0

申し訳ありません、あなたの問題を理解しました。上のコードを上のコードで更新しました。それがうまくいくかどうかわからないのは、あなたのサーバーがリクエストをどのように解釈するかに依存すると思います。 – jonkroll

0

私は同様の問題に直面していましたが、URLを更新して解決しました。私は私がURLを送信するために必要なパラメータを追加し、「パラメータnilに」

ので、URLはなった

server\url.htm?data=param1&data=param2&data=param3 

のようなものとparamDictionaryとしてnilを送っ

[request setHTTPBody:[AFQueryStringFromParametersWithEncoding(nil, self.stringEncoding) dataUsingEncoding:self.stringEncoding]]; 
+0

URLのパラメータはPOSTではなくGETで動作します。 – lavoy

+0

私たちはすべてのリクエストに対して投稿を行っており、それは私のためにきれいに働いています –

+0

あなたはこれでどんなAPIを打っていますか?私はそれが働くべきだとは思わない。 – lavoy

関連する問題