[Swift]使用Alamofire传递参数时报错
p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
span.s2 { font: 11px "PingFang SC"; font-variant-ligatures: no-common-ligatures }
Swift使用Alamofire传递递参数时报错,会提示超时,主要错误信息如下:
p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1) }
span.s1 { font-variant-ligatures: no-common-ligatures }
span.s2 { font: 11px "PingFang SC"; font-variant-ligatures: no-common-ligatures }
[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,转载请标明出处!
最新文章
- 通过sqoop来传输mysql/oracle/vertica数据至HBASE
- NPM小结
- 关于 ActiveMQ
- Delphi 读取CPU Id
- 嵌入式linux内核制作
- 使用JMeter做压力测试
- 它们的定义iOS双击Home截图按键开关
- ByteBuffer和String的互相转换
- 【最大流ISAP】洛谷P3376模板题
- python3 request模块初使用
- 安卓端 - H5页面在微信分享、收藏、保存图片不成功
- echarts修改上下左右的边距
- network is unreachable 网关PING不通解决办法
- SQL Server数据归档的解决方案
- 洛谷 P1525 关押罪犯
- 单片机I/O口的结构的详解
- caffe matlab接口编译遇到的问题记录
- 《在kali上完成gdb调试》
- confluence wiki 安装
- android 播放视频时切换全屏隐藏状态栏