我的参数有问题。这是我需要发送的内容:
{
"id": "10",
"parameters": [
{
"name": "hash",
"value": "hashText"
},
{
"name": "search",
"value": "text"
}
]
}
如何为此请求创建正确的参数变量。我使用这段代码:
var parameters = ["id": "10",
"parameters": [
"name":"hash", "value": "hash_user",
"name":"search", "value": "text"
]]
let url = NSURL(string: "http://myServerName.com/api")
var session = NSURLSession.sharedSession()
let request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "POST" //set http method as POST
var err: NSError?
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(parameters, options: nil, error: &err)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
var task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
println("Response: \(response)")
...
感谢您的帮助!
编辑:
问题出在参数变量中。现在我有:
var parameters = [
"id": "10",
"parameters": [
["name":"hash", "value": "hash_user"]
]
]
并且效果很好。
答案 0 :(得分:0)
更改此行:
var parameters = ["id": "10",
"parameters": [
"name":"hash", "value": "hash_user",
"name":"search", "value": "text"
]]
对此:
var parameters = ["id": "10",
"parameters": [
["name":"hash", "value": "hash_user"],
["name":"search", "value": "text"]
]]
所以你在parameters
答案 1 :(得分:0)
在同一问题上查看我的answer
如果您不必对服务器端的数据执行任何操作,只需从这些函数中的postData中删除val=