3

重複の可能性:
Objective-CiPad開発でのPOST

ネットワーキングなどに不慣れですので、よろしくお願いします。

次のフォームデータを使用してPOSTリクエストを送信しようとしています

{"email":"JoeSmith@aol.com","password":"password","password_confirm":"password","name":"Joe Smith","cellphone":"4402415585","address":"Fake Street"}:

これまでのところ、私が持っているものは次のとおりです。

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",SERVER_ADDRESS]] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData
                                                   timeoutInterval:10];
[request setHTTPMethod: @"POST"];
NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
[connection start];

私の問題は、このリクエストにフォームデータを含める方法がわからないことです。簡単な方法がNSMutableURLRequestあると思いますが、どれがいいのかわかりません。

4

1 に答える 1

8

JSON 文字列を NSData 形式に変換する必要があります。次に、このデータを URLRequest オブジェクトの HTTP Body に設定できます。

コードサンプルの追加:

NSData* postData= [<yourJSON> dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
  [request setHTTPMethod:@"POST"];
  [request setValue:[NSString stringWithFormat:@"%d", postData.length] forHTTPHeaderField:@"Content-Length"];
  [request setValue:@"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField:@"Content-Type"];
  [request setHTTPBody:postData];

  NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request 
                                                                delegate:self];

  [connection start];

さらに助けが必要な場合はお知らせください...

于 2013-01-12T20:16:36.310 に答える