gpt4 book ai didi

ios - 在 Swift 4 中从 uitextfields 将数据发布到服务器

转载 作者:行者123 更新时间:2023-11-30 11:27:33 24 4
gpt4 key购买 nike

我是 Swift 4 编程新手。这是我的第一个 iOS 项目。我在以 JSON 格式向服务器发送数据时遇到困难!

服务器正在接收所有空的参数文本字段。

let pram = ["departement": departmentTextField.text, "fname": firstNameTextField.text, "lname": lastNameTextField.text, "email": emailTextField.text, "mbl": mobileNumberTextField.text, "address": residentialTextField.text,"subrub": suburbTextField.text,"dob": chooseDateofBTextField.text,"gender": genderTextField.text, "cardno": medicareCardNoTextField.text, "edate":  medicareExpiryTextField.text, "source":  howDidText.text, "condition": conditionTextField.text, "appdate": aptDOPTextField.text]

let url = URL(string: "//myAPI")!
var request = URLRequest(url: url)
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
let postString = pram
request.httpBody = (postString as AnyObject).data
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else { // check for fundamental networking error
print("error=\(error)")

let alert = UIAlertController(title: "Connection Lost ", message: "Please Try Again Later", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Done", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)

return
}

if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 {
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(response)")
}

let responseString = String(data: data, encoding: .utf8)
print("responseString = \(responseString)")

let alert = UIAlertController(title: "Your Appointement has been placed", message: "", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Done", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)
}
task.resume()

最佳答案

我建议您使用Almofire 。这是一个非常简单的围兜。您可以轻松地使用它来发送服务器请求,如下所示:

let parameters: Parameters = ["departement": departmentTextField.text!] //and so on
Alamofire.request("apiPath", method: .post, parameters: parameters).responseJSON { response in
if let json = response.result.value {
print("JSON: \(json)") // serialized json response
}

if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)") // original server data as UTF8 string
}
}

根据你的问题,你必须插入一个“!”在文本字段的文本之后。

这是 almofire 文档:https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#making-a-request

关于ios - 在 Swift 4 中从 uitextfields 将数据发布到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50570588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com