zoukankan      html  css  js  c++  java
  • [Swift]使用Alamofire传递参数时报错

    Swift使用Alamofire传递递参数时报错,会提示超时,主要错误信息如下:

     

    [Result]: FAILURE: Error Domain=NSURLErrorDomain Code=-1001 "请求超时。" UserInfo={NSUnderlyingError=0x60000024bfa0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=你的请求地址, NSErrorFailingURLKey=你的请求地址, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=请求超时。}

     

    我的主要请求代码:

    func NetworkMain(URL: String, paras: Parameters,method: HTTPMethod,finishedCallback:@escaping (_ result:JSON)->()){
            //let paras: Parameters = ["exFlag":"3","PhotoID" : photoID]
            let requestAttr = Alamofire.request(URL, method: method, parameters: paras, encoding: JSONEncoding.default, headers: heads).responseData{ 
            下面代码省略...

    因为初次使用Alamofire,例子是照抄别人的,一直想不通为什么不传参数就正常,传参数就不能正常获取数据。网上也没有人遇到这个问题,反复检查了参数的格式和Alamofire的版本,发现并没问题啊。

    最后查阅Alamofire的github使用说明,发现参数的编码类型是有很多种。嗯,问题就在这里了,将 encoding: JSONEncoding.default 改为 encoding: URLEncoding.default ,请求成功!

    参数可指定多个编码类型,有兴趣的请查阅Alamofire的说明文档。

    原文地址:http://www.cnblogs.com/txwd/p/7396156.html,转载请标明出处!

  • 相关阅读:
    C# 单点登录
    长度12的数组,要求对数据分为3组,每组数据对应位置的数字为前几位的和,并返回12位数组
    react项目初始化
    vue 过滤器的使用(解决forEach遇到的问题)
    nuxt中less使用
    vue项目less 使用
    Webpack中的sourceMap配置
    webpack 同一文件打包两次生成两个文件
    webpack---图片打包前和打包后名称一致的配置
    The computed property "userName" is already defined in data.
  • 原文地址:https://www.cnblogs.com/txwd/p/7396156.html
Copyright © 2011-2022 走看看