【发布时间】:2019-02-03 23:38:21
【问题描述】:
我正在将此数据发送到服务器,我希望它做出响应。尝试了这段代码,但它不起作用。
let parameters = [ "imie" : (imie), "nazwisko" : (nazwisko), "telefon" : (telefon), "adres" : (adres), "miasto" : (miasto), "kod" : (kod), /*"powiat" : (powiat), "wojewodztwo" : (wojewodztwo),*/ "opis" : (selectedvalue) ]
let url = URL(string: "http://www.hetman.pl/post1.php")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Accept")
request.setValue("application/x-www-form-urlencoded; charset=utf-8", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.setBodyContent(parameters)
let task = URLSession.shared.dataTask(with: request as URLRequest) { data, response, error in
if error != nil{
return
}
do{
let t = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String:AnyObject]
print(t as? String)
} catch{
print("Error 43 -> \(error)")
}
}
请求正确,服务器正在正确处理数据,但响应给我这个错误:
Error 43 -> Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 3." UserInfo={NSDebugDescription=Invalid value around character 3.}
所以问题是,我如何从服务器取回数据?
【问题讨论】:
-
你能显示打印的
t- 你的JSON吗? -
print(t as? String)这应该可行吗?我不这么认为。您应该得到“从 '[String : AnyObject]' 转换为不相关的类型 'String' 总是失败”(也不要在 Swift 4 中使用AnyObject)。相反,let responseString = String(data: data, encoding: .utf8); print("responseString: \(responseString)")。request as URLRequest也应该没用。 -
可以分享一下邮递员的收藏吗?
-
可能是您的 json 格式不正确。通过邮递员验证。
标签: ios json swift swift4 urlsession