【发布时间】:2017-02-04 10:58:55
【问题描述】:
我正在尝试在 Swift 3 中使用 Alamofire 执行 .POST 请求。我编写了以下函数
func postToken(Token: String) {
let parameters : [String:Any] = ["api_key":"ivaomobileapp", "function":"login", "IVAOTOKEN=":"\(Token)"]
Alamofire.request("URL", method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: nil).responseJSON { (response:DataResponse<Any>) in
switch(response.result) {
case .success(_):
if let data = response.result.value{
print(data)
}
break
case .failure(_):
print(response.result.error as Any)
break
}
}
}
但是代码不起作用,它给出了以下错误:
Alamofire.AFError.responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))
这与 CURL(UNIX) 中的请求相同
curl https://whatever -X POST -F 'api_key=ivaomobileapp' -F 'function=Login' -F 'IVAOTOKEN=whatever'
我做错了什么?
谢谢
【问题讨论】:
-
服务器端响应不正常,你的代码没问题
-
答案是无效的 JSON 对象。
-
@Anbu.Karthik 我让它现在返回 JSON,仍然是同样的问题。
-
验证你的 json 一次,
-
@Anbu.Karthik 这是我现在返回的内容:{"msg":"用户登录成功输入。"}