5

AFHTTPClient メソッド「postPath」を使用して、1 つのパラメーター キーの複数の値を HTTP 要求に渡そうとしています。ただし、パラメーター変数は NSDictionary であるため、キー「メール」に複数の値を設定することはできません。電子メールの値をコンマ区切りの文字列として送信しようとしましたが、電子メールの値が指定されていないというエラーがサーバーから返されるため、うまくいきません。

multipartFormRequestWithMethod メソッドの使用に関するドキュメントを読みましたが、これを機能させる方法を完全には理解できませんでした。単一のキーに対して複数の値でこのメソッドを使用する例を誰か提供できますか?

ありがとう

リッチ

4

3 に答える 3

12

1 つのキーのマルチ クエリ値を結合します。

NSDictionary + NSSet を使用すると、NSArray から [] なしでクエリ URL を取得します。

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
[NSSet setWithObjects:@"value1", @"value2", nil], @"myKey", nil];

AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSURLRequest *request = [httpClient requestWithMethod:@"GET" path:@"/path" parameters:params];

PS: 遅いよりは遅いほうがいい...

于 2013-08-08T16:33:36.403 に答える
4

1 つのキーに複数の値を組み合わせます。

NSDictionary + NSArray の使用

例えば:

AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: @"value1", @"param1", @"value2", @"param2", [NSArray arrayWithObjects:@"value3",@"value4",@"value5",nil], @"param3", nil];

NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:@"/yourhostpath" parameters:params];

「url」と「yourhostpath」を独自のものに置き換える必要があります。これについては、AFNetworking の AFHttpClient デモ コードを参照してください。

于 2012-11-18T03:15:51.327 に答える
2

1つのキーに複数の値を定義することはできません。ただし、それ自体が複数の値を含む配列を持つようにキーを定義できます。

emailとはいえ、複数の定義を持つべきフィールドではないようです。複数の値を受け入れたい場合は、おそらくそのパラメーターの名前をに変更する必要がありますemails

于 2012-06-18T17:48:37.797 に答える