2012-04-14 152 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