[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,转载请标明出处!

posted @   txworld  阅读(2141)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示