【问题标题】:iPhone - How to implement feedback feature directly to serveriPhone - 如何直接向服务器实施反馈功能
【发布时间】:2011-09-20 14:13:59
【问题描述】:

我是一名 iPhone 开发人员,最近开始接触 PHP。

在我最近为某人创建的网站上,我创建了一个feedback form。这通过 POST 将数据提交到 PHP 文件,然后我的 PHP 代码将其保存到 MySQL 数据库。然后,我为其创建网站的人可以在我为他们创建的 CMS 上查看它。

这一切都很好(而且我对 PHP 没有任何问题),但是如果我想从 iphone 应用程序(直接到服务器)来做呢?

你会发出这样的 GET 请求吗:http://www.mysite.com/app_data/submit_feedback.php?api_key=somekey&name=somename&email=someemail&feedback=lots%20of%20characters%20with%lots%20of%20escapes%20in

或者是否可以从 iPhone 提交 POST 数据?我应该使用 ASIHTTPRequest 吗?还是我应该将数据打包成 XML/JSON 并让它以某种方式上传文件?

我将不胜感激有关此问题的任何建议。

【问题讨论】:

    标签: php iphone forms post get


    【解决方案1】:

    您可以使用 ASIHttpRequest,或使用标准 API NSURLConnection 和 NSMutableURLRequest。

    您可以使用 NSMutableURLRequest 提交 POST:

    NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlEncoded]
                                                              cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                          timeoutInterval:60];
    [urlRequest setHTTPMethod:@"POST"];
    [urlRequest setHTTPBody:[ requestBody dataUsingEncoding:NSUTF8StringEncoding]];
    
    ....
    
    theConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self];
    

    我可以继续提供一个完整的例子,但你应该看看苹果的例子

    http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/URLLoadingSystem/Tasks/UsingNSURLConnection.html

    【讨论】:

      【解决方案2】:

      为此,您需要 ASIHTTPRequest,尤其是 ASIFormDataRequest 子类。您可以使用发布数据字段加载请求,然后在后台异步将其发送到服务器上。非常适合这种事情。

      这里有很多很好的示例代码: http://allseeing-i.com/ASIHTTPRequest/How-to-use#sending_a_form_post_with_ASIFormDataRequest

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-05
        • 1970-01-01
        相关资源
        最近更新 更多