2012-04-14 108 views
0

IM應答試圖JSON對象從我的iPhone發送到PHP服務器iPhone-發送JSON對象到PHP服務器在POST和GET從服務器

服務器會對其進行解碼做一些功能,然後用JSON重播回iphone 。

我有服務器設置,但我不知道我需要使用什麼方法連接到PHP服務器(使用POST方法),以及iPhone將如何得到服務器的響應。

回答

0

檢查了這一點張貼數據: iPhone sending POST with NSURLConnection

你怎麼能在可可JSON對象?您不知何故必須將您所擁有的任何數據轉換爲JSON,然後將其發送到服務器,然後parse的答案。

2

這是你的代碼享受

NSString * urlString = @「Your 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 2012-04-14 17:31:31