为什么我收到此错误,responseSerializationFailed?

时间:2017-11-29 10:30:47

标签: ios json swift alamofire jsonserializer

这是我的代码

        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代码= 3840&#34;字符0周围的值无效。&#34; UserInfo = {NSDebugDescription =字符0周围的值无效}}))   无法施放类型&#39; Alamofire.AFError&#39; (0x100969000)到&#39; Swift.Array&lt; __ ObjC.NSDictionary&gt;&#39; (0x174094340)。   2017-11-29 16:01:09.744776 WTV_GO [2333:1690232]无法输入类型的价值&#39; Alamofire.AFError&#39; (0x100969000)到&#39; Swift.Array&lt; __ ObjC.NSDictionary&gt;&#39; (0x174094340)。

将firebase令牌和其他参数放入服务器时出现此错误但是相同的参数通过Postman工作正常,有什么解决方案吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

最后,解决了这个问题。我已将代码从thenDragTo

更改为encoding: URLEncoding.queryString

答案 1 :(得分:0)

根据您的错误,您似乎没有处理错误。 请查看以下示例代码,以处理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
                    }