为啥我收到此错误,responseSerializationFailed?
Posted
技术标签:
【中文标题】为啥我收到此错误,responseSerializationFailed?【英文标题】:why I am getting this error , responseSerializationFailed?为什么我收到此错误,responseSerializationFailed? 【发布时间】:2018-05-13 00:46:57 【问题描述】:这是我的代码
Alamofire.request(URL, method: requestType, parameters: param, encoding: URLEncoding.default, headers: headers).responseJSON (response:DataResponse<Any>) in
switch(response.result)
case .success(_):
if response.result.value != nil
completion(response.result.value!)
break
case .failure(_):
print(response.result.error!)
failure(response.result.error!)
break
responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(错误域=NSCocoaErrorDomain Code=3840 "字符 0 周围的值无效。" UserInfo=NSDebugDescription=字符 0 周围的值无效。)) 无法将“Alamofire.AFError”(0x100969000)类型的值转换为“Swift.Array<__objc.nsdictionary>”(0x174094340)。 2017-11-29 16:01:09.744776 WTV_GO[2333:1690232] 无法将“Alamofire.AFError”(0x100969000)类型的值转换为“Swift.Array<__objc.nsdictionary>”(0x174094340)。
将firebase令牌和其他参数放入服务器时出现此错误,但相同的参数通过邮递员工作正常,有什么解决办法吗? 谢谢!
【问题讨论】:
在此处发布您的代码 @JitendraModi 看到我的 requestType 示例被放了,你能为这种类型的错误提供任何解决方案吗? 你试过把encoding: URLEncoding.default
改成encoding: JSONEncoding.default
吗?
您收到无法解析的无效响应。检查您的回复并使用 jsonlint.com 之类的内容进行验证
@JitendraModi 使用encoding: JSONEncoding.default
仍然遇到同样的错误
【参考方案1】:
终于解决了这个问题。我已将代码从 encoding: URLEncoding.default
更改为 encoding: URLEncoding.queryString
【讨论】:
【参考方案2】:根据您的错误,您似乎没有处理错误。
请看下面的示例代码来处理success
响应结果和error
响应结果。
Alamofire.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: nil) .responseJSON response in
switch response.result
case .success(_):
print(response)
// Do your stuff here
case .failure(_):
print("Request failed with error: \(response.result.error ?? "" as! Error)")
//handle error here
【讨论】:
我正在实现所有的错误处理代码,你可以看到上面放了requestType的代码。 是的,您现在已经添加了有问题的代码。会看起来以上是关于为啥我收到此错误,responseSerializationFailed?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在尝试访问此 WordPress 网站时收到此 403 Forbidden 错误?为啥它无法读取 .htaccess 文件?