现在,当用户输入 ID 和密码并点击注册按钮时。 然后它将提交给返回响应的 php 脚本。
现在的问题是,只有在我点击文本字段后,我才能从 php 脚本中获得响应。
我正在尝试在单击注册按钮时使响应自动显示在 TextView (outlet3)上。
import UIKit
var id00 = ""
var pw00 = ""
var result = ""
var response = ""
class SecondViewController: UIViewController {
@IBOutlet weak var outlet: UITextField!
@IBOutlet weak var outlet2: UITextField!
@IBOutlet weak var outlet3: UITextField!
//register button
@IBAction func action(_ sender: Any) {
//get id &pw
id00 = outlet.text!
pw00 = outlet2.text!
//imie
let deviceUUID: String = (UIDevice.current.identifierForVendor?.uuidString)!
let myUrl = URL(string: "http://192.168.0.152/testing00/user/reg.php");
var request = URLRequest(url:myUrl!)
request.httpMethod = "POST"// Compose a query string
let postString = "employeeid=" + id00 + "&password=" + pw00 + "&imie=" + deviceUUID ;
request.httpBody = postString.data(using: String.Encoding.utf8);
let task = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
if error != nil
{
print("error=\(String(describing: error))")
return
}
if let data = data {
let string = String(data: data, encoding: String.Encoding.utf8)
self.outlet3.text = string
print(self.outlet3.text!) //
}
print("response = \(request)")
}
task.resume()
}
}
最佳答案
替换此代码:-
self.outlet3.text = string
使用此代码:-
DispatchQueue.main.async {
self.outlet3.text = string
}
关于php - 单击注册按钮时如何使来自服务器的响应自动显示在 TextView (outlet3)上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48218568/