【问题标题】:iPhone- Send JSON Object to PHP server in POST and get response from serveriPhone- 在 POST 中将 JSON 对象发送到 PHP 服务器并从服务器获取响应
【发布时间】:2012-04-14 15:34:36
【问题描述】:

我正在尝试将 JSON 对象从我的 iphone 发送到 php 服务器

服务器将解码它做一些功能,然后用 JSON 重播回 iphone。

我已经设置了服务器,但我不确定我需要使用什么方法连接到 php 服务器(使用 POST 方法)以及 iphone 将如何从服务器获取响应。

【问题讨论】:

    标签: php iphone mysql json web-services


    【解决方案1】:

    这是您的代码享受

    NSString *urlString = @"你的网址";

    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 方法发送多个值。

    【讨论】:

    • 感谢您的帮助,但是如何从服务器获取响应,iphone 将如何捕获它?
    【解决方案2】:

    检查这个以获取 POSTing 数据: iPhone sending POST with NSURLConnection

    如何在 Cocoa 中拥有 JSON 对象?您必须以某种方式将您拥有的任何数据转换为 JSON,将其发送到服务器,然后 parse 得到答案。

    【讨论】:

      猜你喜欢
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-24
      • 1970-01-01
      相关资源
      最近更新 更多