如何将数组字典发送到php服务器SWIFT 4
如何将数组字典发送到php服务器 例如:如何将数组字典发送到php服务器SWIFT 4,php,swift,Php,Swift,如何将数组字典发送到php服务器 例如: var dict:[string:Int] = ["1":32,"2":33,"3":"34"] 我想将“dict”值发送到php服务器。 我使用这个代码,但不工作 func reorderDevice(_ link:String) { let url = NSURL(string: serverSettings + "reorderDeviceType.php") var request = URLRequest(url:
var dict:[string:Int] = ["1":32,"2":33,"3":"34"]
我想将“dict”值发送到php服务器。
我使用这个代码,但不工作
func reorderDevice(_ link:String)
{
let url = NSURL(string: serverSettings + "reorderDeviceType.php")
var request = URLRequest(url: url! as URL)
request.httpMethod = "POST"
var dataString = secretCode
dataString = dataString + (link)
let dataD = dataString.data(using: .utf8) // convert to utf8 string
do
{
let uploadJob = URLSession.shared.uploadTask(with: request, from: dataD)
{
data, response, error in
if error != nil {
}
}
uploadJob.resume()
}
}
你可以用阿拉莫菲尔
如果只想将数组作为
httpBody
发送,请使用以下代码
var request = URLRequest(url: URL(string: "YOUR-URL")!)
let dict : [String: Int] = ["1":32,"2":33,"3": 34]
let data = try? JSONSerialization.data(withJSONObject: dict)
request.httpMethod = "POST"
request.httpBody = data
如果您有不同类型的表单数据,请尝试以下方法
let request = URLRequest(url: URL(string: "YOUR-URL")!)
let dict : [String: Int] = ["1":32,"2":33,"3": 34]
let formData = createBodyWithParameters(parameters: dict)
let task = URLSession.shared.uploadTask(with: request, from: formData){
data, response, error in
if error != nil {
}
}
task.resume()
createBodyWithParameters
方法
func createBodyWithParameters(parameters: [String: Any]) -> Data? {
guard parameters.count != 0 else {
return nil
}
var formData = Data()
let boundary = UUID().uuidString
for (key, value) in parameters {
// Appending formData
formData.append("\r\n--\(boundary)\r\n".data(using: .utf8)!)
formData.append("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n".data(using: .utf8)!)
formData.append("\(value)".data(using: .utf8)!)
}
// Add other fields or params here if any
// Make sure to close form data with boundary
formData.append("\r\n--\(boundary)--\r\n".data(using: .utf8)!)
return formData
}
将密码附加到表单数据中
// To append secret code
let secretCode = "code"
let key = "Key"
formData.append("\r\n--\(boundary)\r\n".data(using: .utf8)!)
formData.append("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n".data(using: .utf8)!)
formData.append("\(secretCode)".data(using: .utf8)!)
formData.append("\r\n--\(boundary)--\r\n".data(using: .utf8)!)
附加secretKey和params的完整代码
func createBodyWithParameters(parameters: [String: Any] , secretCodeKey : String , secretCodeValue : String) -> Data? {
var formData = Data()
let boundary = UUID().uuidString
for (key, value) in parameters {
// Appending formData
formData.append("\r\n--\(boundary)\r\n".data(using: .utf8)!)
formData.append("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n".data(using: .utf8)!)
formData.append("\(value)".data(using: .utf8)!)
}
// Add other fields or params here if any
// To append secret code
formData.append("\r\n--\(boundary)\r\n".data(using: .utf8)!)
formData.append("Content-Disposition: form-data; name=\"\(secretCodeKey)\"\r\n\r\n".data(using: .utf8)!)
formData.append("\(secretCodeValue)".data(using: .utf8)!)
formData.append("\r\n--\(boundary)--\r\n".data(using: .utf8)!)
return formData
}
你需要比这更具体。
func createBodyWithParameters(parameters: [String: Any] , secretCodeKey : String , secretCodeValue : String) -> Data? {
var formData = Data()
let boundary = UUID().uuidString
for (key, value) in parameters {
// Appending formData
formData.append("\r\n--\(boundary)\r\n".data(using: .utf8)!)
formData.append("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n".data(using: .utf8)!)
formData.append("\(value)".data(using: .utf8)!)
}
// Add other fields or params here if any
// To append secret code
formData.append("\r\n--\(boundary)\r\n".data(using: .utf8)!)
formData.append("Content-Disposition: form-data; name=\"\(secretCodeKey)\"\r\n\r\n".data(using: .utf8)!)
formData.append("\(secretCodeValue)".data(using: .utf8)!)
formData.append("\r\n--\(boundary)--\r\n".data(using: .utf8)!)
return formData
}