gpt4 book ai didi

php - 将字典从 Swift 发布到 PHP

转载 作者:搜寻专家 更新时间:2023-10-31 22:51:06 31 4
gpt4 key购买 nike

如何将 Swift 中生成的字典作为参数发布到 PHP URL 中?

具体而言,任务是更新托管数据库上的许多字段。我没有将每个字段的新值定义为单独的参数,而是希望传递一个字典,其中键是字段名称,值是新值。此数据已作为 Dictionary<String, String> 存在在 Swift 中 - 如何将其附加到以下格式的 php url:

"http://server/directory/targetScript.php/?recordId=\(recId)&newFieldArray=\(itemDict)"

地点:

recId = 正在更新的记录 ID(作为将单独的变量与字典一起传递的示例)

itemDict = Swift 中生成的字典

这是当前代码: ...返回错误显示 url作为“零”

class func updateItemInfo ( recordId:String, updatedDict:Dictionary<String, String> ) -> Void {
//recordId = the FileMaker recordId of the item being updated
//updatedDict = the primaryKey of the current item

//direct to php file location
let server:String = "myServer.com"
let phpFile:String = "/php/UpdateRecord.php"

let baseURL = NSURL(string: "http://\(server)\(phpFile)")
let url = NSURL(string: "?recordId=\(recordId)&newData=\(updatedDict)", relativeToURL: baseURL)
let cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData
var request = NSMutableURLRequest(URL: url!, cachePolicy: cachePolicy, timeoutInterval: 20.0)
request.HTTPMethod = "POST"

// set data
var dataString = ""
let requestBodyData = (dataString as NSString).dataUsingEncoding(NSUTF8StringEncoding)
request.HTTPBody = requestBodyData

var response: NSURLResponse? = nil
var error: NSError? = nil
let reply: NSData! = NSURLConnection.sendSynchronousRequest(request, returningResponse:&response, error:&error)
let results = NSString(data:reply!, encoding:NSUTF8StringEncoding)
println(results)
}

最佳答案

为什么不使用 JSON 来传递值。

  1. 转换 Dictionary to JSON String.
  2. 如果您将此数据作为查询字符串发送;你必须URL encode it
  3. 最后您可以将它发送到 PHP;它将作为单个参数到达 $_GET 中的位置。在那里你需要 PHP 的 json_decode从中获取关联数组。

关于php - 将字典从 Swift 发布到 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28259315/

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