我试图了解xcode 8 swift 3中的post请求的过程。如何在xcode 8 swift 3中将字段值传递为字符串类型?
我设法通过将值添加到“paramString”来手动发布数据。
我的问题是,如果输入数据来自textfield如何传递数据?
我把它命名为usernameTxt和passwordTxt。如何使用下面的代码将这些值传递给PHP MySQL?
“paramString”将是如果视图控制器有多个文本字段输入到Web服务?
到目前为止我的代码如下
import UIKit
class ViewController: UIViewController {
@IBOutlet var usernameTxt: UITextField!
@IBOutlet var passwordTxt: UITextField!
@IBOutlet var loginButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func sendData(_ sender: Any) {
data_request("http://localhost/send.php")
}
func data_request(_ url:String)
{
let name = usernameTxt.text
let pass = passwordTxt.text
let url:NSURL = NSURL(string: url)!
let session = URLSession.shared
let request = NSMutableURLRequest(url: url as URL)
request.httpMethod = "POST"
let paramString = "data=" + name!
// let paramString = "data=" + name! + "data2=" + pass! //this line does not work
request.httpBody = paramString.data(using: String.Encoding.utf8)
let task = session.dataTask(with: request as URLRequest){
(data, response, error) in
guard let _:NSData = data as NSData?, let _:URLResponse = response, error == nil else {
print("Error")
return
}
if let dataString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue){
print(dataString)
}
}
task.resume()
}
}
你可能想看看API refernce为['UITextField'(https://developer.apple.com/reference/uikit/uitextfield) – MadProgrammer
感谢您的答复,:)。 。我仍然试图理解这个概念和流程。 。同时,也许有人可以快速回答如何将这些usernameTxt,passwordTxt值分配给“let StringParam”..上面的代码,只需要最后一次触摸。 – AlotJai
它看起来像我只能传递一个字符串变量像这样let name = usernameTxt.text,让paramString =“data =”+ name! 。我不知道如何传递这两个值。 – AlotJai