2012-04-14 8 views
0

イムからの応答を取得しますiPhone- 。は</p> <p>サーバはそれがいくつかの機能を行うデコードして、iphoneに戻っJSONで再生しますPOSTでPHPサーバーにJSONオブジェクトを送信し、私のiphoneからPHPサーバーにJSONオブジェクトを送信しようとしているサーバー

私はサーバーをセットアップしましたが、(POSTメソッドを使用して)PHPサーバーに接続するためにどのメソッドを使用する必要があるのか​​わかりません。また、iphoneがサーバーからの応答を取得する方法もわかりません。データをポストするための

答えて

0

はチェックこのアウト: iPhone sending POST with NSURLConnection

あなたはココアでJSONオブジェクトを持つことができますどのように?あなたは何らかの形でJSONに持っているデータを変換してサーバに送信し、次にparseという答えを返す必要があります。

2

ここはあなたのコードです。

NSString * urlString = @ "あなたのURL";

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:urlString]]; 
[request setHTTPMethod:@"POST"]; 

NSMutableData *body = [NSMutableData data]; 


NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"]; 
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary]; 
[request addValue:contentType forHTTPHeaderField:@"Content-Type"]; 




[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[NSData dataWithData:imageData]]; 
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 



// Text parameter1 
// NSString *param1 = @"parameter text"; 
[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"name\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithString:param1] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 



// Another text parameter 
// NSString *param2 = @"Parameter 2 text"; 
[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"desc\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithString:param2] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 


// close form 
[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
// set request body 
[request setHTTPBody:body]; 

上記のコードでは、HTTP POSTメソッドを使用して複数の値を送信できます。

+0

助けてくれてありがとうが、サーバーからの応答を得るにはどのようにiphoneがそれをキャッチしますか? – SeRo

関連する問題