【发布时间】:2018-12-17 21:26:54
【问题描述】:
我正在向一个 URL 发帖,我的 webDev 告诉我需要设置
“数据=”
作为参数,我的 JSONObject 作为键。我不知道如何将字符串设置为参数。
我尝试在 request.httpBody 上连接一个字符串,但它只接受数据。我也尝试将它添加到其他一些区域,但无济于事。
let dateFormatter = DateFormatter()
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm"
let dateString = dateFormatter.string(from: load.date)
let json: [String: Any] = ["lb_datetime": "\(dateString)", "operator_id": "\(load.operatorID)", "ticket_number": load.ticketNumber, "timber_sale_id": "\(load.saleID)", "hauler_id": haulerInt, "product_id": String(load.productID), "destination": load.destination, "driver": load.driver, "trailer": load.trailerNumber, "trailer_drop": "\(load.trailerDrop)", "scaleticket": load.scaleTicketNumber, "tons": "\(load.tons)", "coords": coordsString, "net": "\(load.net)", "live": "true"]
print("JSON Object: \(json)")
let jsonData = try? JSONSerialization.data(withJSONObject: json)
// create post request
let url = URL(string: "http://example.net/example/app/mobile/removal/")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
// insert json data to the request
request.httpBody = jsonData
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else {
print(error?.localizedDescription ?? "No data")
return
}
let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [])
if let responseJSON = responseJSON as? [String: Any] {
print("RESPONSEDATA: \(responseJSON)")
}
}
task.resume()
非常感谢任何帮助!
【问题讨论】: