IOS Swift Alamofire.request发布到php表单

时间:2015-05-06 01:31:04

标签: ios swift contact-form alamofire

刚开始开发,我一直在努力将html表单转换为IOS Swift,需要一些指导。我正在使用Alamofire并且不确定如何将提交按钮和UITextlabels绑定到.POST请求。感谢您提供的任何帮助。我一直在寻找没有太多运气的时间。谢谢!

服务器上的PHP字段:

$name = $_POST['name'];
$email = $_POST['email'];

Swift代码:

import UIKit
import Alamofire

class formViewController: UIViewController {

    @IBOutlet weak var nameText: UITextField!
    @IBOutlet weak var emailText: UITextField!

    @IBAction func submitButton(sender: UIButton) {

        let parameters: [String: AnyObject] = [:] // fill in your params
        let request = Alamofire.request(.POST, "http://testserver.com/form.php", parameters: parameters)
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

2 个答案:

答案 0 :(得分:0)

UITextField是一个非常强大的API,因此,访问myTextField.text中的数据就像执行let array: [String: String] = ["name": nameText.text] 一样简单。请注意,即使它是空白,它仍将返回一个字符串值,因此最好检查它是否具有实际值。由于您已经使用了Interface Builder,因此访问您的值更加容易。例如:

if (task_count === 0)

关于切换到Objective-C的评论: 虽然切换到Objective-C可能在某些层面上有优势,但我会说如果你因为缺乏教程和文档而只是计划切换,那么不要。学习Objective-C,并在两种语言之间进行转换将成为一种自然的技能。因此,即使没有Swift的文档,您仍然可以完成它,因为您可以简单地转换Objective-C代码。至于像选项和AnyObject这样的小差异,不仅Apple还有互联网的许多部分(即SO和Ray Wenderlich)都有很好的记录。

答案 1 :(得分:0)

我想出了如何在没有Alamofire的情况下完成我的帖子请求。这是我目前正在为我工​​作的东西。随意提供任何改进建议。感谢您的帮助。

func postToServerFunction() {

        let url = NSURL(string: "http://testserver.com/test.php")!
        var request:NSMutableURLRequest = NSMutableURLRequest(URL:url)

        let bodyData = "firstName=" + firstName.text + "&lastName=" + lastName.text + "&phoneNumber=" + phoneNumber.text

        request.HTTPMethod = "POST"

        request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);
        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) ...