【发布时间】:2017-09-05 09:31:20
【问题描述】:
我发现一些线程有同样的问题,但他们的答案对我不起作用。
我有一个post 请求检查用户登录。
网址形式:
“http://support.xxx.xx:8031/serpapi/login/checkLogin”
参数:
["contextInfo" :
["clientId": "1000000", "orgId": "1000001",
"warehouseId": "1000002", "roleId": "0"],
"userName": "hanoiaUser", "password": "hanoiaUser"]
请求:
Alamofire.request(url!, method: .post, parameters: params).responseJSON { (response) in
print(response)
}
错误响应:
FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))
为什么会出现这个错误?以及如何解决?
编辑:我尝试使用 POSTMAN 并返回响应:
内容类型:应用程序/json
正文:原始 - json
{
"contextInfo" : {
"clientId":1000000,
"orgId": 1000001,
"warehouseId": 1000002,
"roleId": 0
},
"userName": "hanoiaUser",
"password": "hanoiaUser"
}
回应:
{
"success": true,
"data": [
{
"userId": 1000003,
"userName": "hanoiaUser",
"token": "b7e804d25065e5c3ac97d765180b7986"
}
],
"error": null
}
【问题讨论】:
-
你的服务器可能有问题
-
显然响应不是 JSON 有效的。你能改用
responseString给我们看那个字符串吗? -
我试过了,但它返回另一个错误:“错误 415 不支持的媒体类型”
-
首先修复您的 Postman 请求,如果没有有效的请求,没有人可以帮助您找出您的 Swift 代码出了什么问题。
-
@TungVuDuc 错误 415 另一方面意味着响应类型与您的
Content-Type标头描述的不同。例如,当您期望 JSON 响应并接收 XML 响应时,就会发生这种情况。如果您设法使您的 Postman 请求正常工作,请在您的问题中包含 Postman 请求。