IOS Swift Alamofire.request post 到 php 形式
IOS Swift Alamofire.request post to php form
这里刚开始开发,我一直在努力将 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.
}
UIKit
是一个非常强大的 API,因此,从 UITextField
访问数据就像 myTextField.text
一样容易。请注意,这仍然 return 一个字符串值,即使它是空白的,所以最好检查它是否有实际值。由于您使用了 Interface Builder,访问您的值就更容易了。例如:
let array: [String: String] = ["name": nameText.text]
至于您对切换到 Objective-C 的评论:
尽管切换到 Objective-C 可能在某些层面上有优势,但我会说,如果您只是因为缺乏教程和文档而打算切换,请不要这样做。学习 Objective-C,两种语言之间的转换将成为一种自然的技能。因此,即使没有 Swift 的文档,您仍然可以完成它,因为您可以简单地转换 Objective-C 代码。至于诸如可选值和 AnyObject 之类的小差异,这些不仅在 Apple 中而且在互联网的许多部分(即 SO 和 Ray Wenderlich)都有很好的记录。
我想出了如何在没有 Alamofire 的情况下完成我的 post 请求。这就是目前对我有用的东西。随时提出任何改进建议。感谢您的帮助。
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()) ...
这里刚开始开发,我一直在努力将 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.
}
UIKit
是一个非常强大的 API,因此,从 UITextField
访问数据就像 myTextField.text
一样容易。请注意,这仍然 return 一个字符串值,即使它是空白的,所以最好检查它是否有实际值。由于您使用了 Interface Builder,访问您的值就更容易了。例如:
let array: [String: String] = ["name": nameText.text]
至于您对切换到 Objective-C 的评论: 尽管切换到 Objective-C 可能在某些层面上有优势,但我会说,如果您只是因为缺乏教程和文档而打算切换,请不要这样做。学习 Objective-C,两种语言之间的转换将成为一种自然的技能。因此,即使没有 Swift 的文档,您仍然可以完成它,因为您可以简单地转换 Objective-C 代码。至于诸如可选值和 AnyObject 之类的小差异,这些不仅在 Apple 中而且在互联网的许多部分(即 SO 和 Ray Wenderlich)都有很好的记录。
我想出了如何在没有 Alamofire 的情况下完成我的 post 请求。这就是目前对我有用的东西。随时提出任何改进建议。感谢您的帮助。
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()) ...