Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将数组字典发送到php服务器SWIFT 4_Php_Swift - Fatal编程技术网

如何将数组字典发送到php服务器SWIFT 4

如何将数组字典发送到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:

如何将数组字典发送到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: 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
}