在 iOS 上获取用户的表单数据

Posted

技术标签:

【中文标题】在 iOS 上获取用户的表单数据【英文标题】:Getting user's form data on iOS 【发布时间】:2013-08-05 12:43:57 【问题描述】:

我需要让我的用户填写表格,然后将信息发送给我。没什么特别的,只是他们的名字和电子邮件,他们会心甘情愿地这样做。

我考虑将信息通过电子邮件发送到我的帐户,但您似乎必须弹出MFMailComposeViewController 并让用户提交电子邮件——我不想打扰他们。

我也尝试了一个简单的mailto url,像这样:

NSString *url = @"mailto:example@example.com?&subject=Greetings from Cupertino!&body=Wish you were here!";
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];

但它不适用于我的模拟器,或者我的 iPhone,它是 ios 6 的 4s。

我还研究过创建一个谷歌文档,并让应用程序将用户信息发送到其 URL,但我假设结果类似于 mailto URL?

那么有没有一种简单又好用的方法呢?

【问题讨论】:

您可以通过发送 post 请求来发送此数据吗?为什么需要邮寄? 看看打不开邮件在哪里添加邮箱? @Tala 我可以发帖。 iOS可以做到吗? (我正在使用我的第一个应用程序,但不确定 Apple 的政策是什么。) @Eddy 我明白了,这通常是通过网络完成的,无需邮寄。阅读此en.wikipedia.org/wiki/Hypertext_Transfer_Protocol 和此github.com/AFNetworking/AFNetworking @Eddy 不,他们当然不会。是什么给了你这个想法? iOS 应用程序一直使用网络服务。人们一直在 Mobile Safari 中填写表格。 POST 是一件完全合法的事情。 (如果您不确定 Apple 的政策,请阅读您的开发者协议和 App Store 指南。) 【参考方案1】:

那么有没有一种简单又好用的方法呢?

当然——但不使用邮件。请改用 HTTP,并将数据 POST 到 Web 服务器。如果您需要通过邮件收集结果,您可以轻松地在服务器上创建一封电子邮件并从那里发送,但您似乎更可能只想将信息直接添加到数据库中。

要使用 HTTP,您将使用相关参数创建一个 NSURLRequest,然后使用 NSURLConnection 发送它。如果您不想深入研究 iOS 提供的 URL 加载系统,那么有许多包装器库可以使其更加容易。但是对于您想要做的事情,直接使用NSURLConnection 会非常简单。

【讨论】:

【参考方案2】:

也许你应该看看这些链接:-

How to send mail from iphone app without showing MFMailComposeViewController?

Send mail without MFMailComposeViewController

Sending Email without using MFMailComposeViewController

MFMailComposer send email without presenting view

【讨论】:

所以基本上答案是我必须做一个 HTTP 帖子?苹果不会因为我这样做而把我赶出商店吗? (顺便说一句,我不确定为什么有人对你的答案投了反对票,这对我有帮助,我正在支持它。)

以上是关于在 iOS 上获取用户的表单数据的主要内容,如果未能解决你的问题,请参考以下文章

php学习笔记-获取表单数据

登录表单中的 IoS 自动填充数据在科尔多瓦应用程序中为空(使用角度)

第10章 表单元素(上)

Jquery Ajax 在提交表单上获取当前 URL

python Django 如何在表单提交之后页面上仍存在用户填好的数据?

form表单