我使用的API接受JSON作为POST参数,但无论我尝试什么 - 它似乎都不接受它。
var post2:NSString = "data={\"item_id\":\"19\"}"
var url2:NSURL = NSURL(string: "\(BASE_URL)item/")!
var postData2:NSData = post.dataUsingEncoding(NSASCIIStringEncoding)!
var postLength2:NSString = String( postData2.length )
println(post2);
var request2:NSMutableURLRequest = NSMutableURLRequest(URL: url2)
request2.HTTPMethod = "POST"
request2.HTTPBody = postData2
request2.setValue(postLength2, forHTTPHeaderField: "Content-Length")
request2.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request2.setValue("application/json", forHTTPHeaderField: "Accept")
request2.setValue("Bearer ABC123", forHTTPHeaderField: "Authorization")
var reponseError2: NSError?
var response2: NSURLResponse?
var urlData2: NSData? = NSURLConnection.sendSynchronousRequest(request2, returningResponse:&response, error:&reponseError)
let json2 = JSON(data: urlData2!)
println显示
data={"item_id":"9"}
我收到了来自服务器的回复,但似乎我没有传递适当的JSON。
我需要传递什么想法?好像它必须是一个NSString。
谢谢!
答案 0 :(得分:0)
你得到什么样的错误?
JSON有效。我想知道您的服务器是否期望application/json
而不是application/x-www-form-urlencoded
。
如果服务器期待application/json
,则删除" data ="从你的身体发送" {" item_id":" 9"}"。 POST不需要是一个键值对。