找回密码
 立即注册

QQ登录

只需一步,快速开始

微信小程序开发资源

关注:1310

所属分类: 微信开发 微信小程序开发资源

微信小程序、微信小程序开发,提供各类小程序开发工具及开发教程。

返回微信小程序开发者社区首页

[最新文章] 微信小程序之踩坑之wx.request 和 wx.uploadFile

[复制链接]
查看: 1311|回复: 4
最佳答案
0 

1

主题

3

帖子

50

积分

新人求带

积分
50
 楼主| 发表于 2016-12-20 10:36:51 | 显示全部楼层 |阅读模式
微信小程序公测也有段时间了,但是里面的坑踩了一个又一个,心也是够累的。本文说说关于 wx.request 和 wx.uploadFile 对请求响应的不同表现。

本文 Demo 的仓库。

wx.request
使用 wx.request 发出请求,在对接口的响应做处理时,官方提供了三个回调函数,分别是 success,fail,complete,看了官方文档,其实也很清晰什么时候用什么回调,在这里也不多赘述了。

wx.uploadFile
使用 wx.uploadFile 可以上传文件,并可以携带一些额外的信息,在对接口的响应做处理时,和 wx.request 一样,也提供了同样的三个回调函数,在官方文档中,其描述几乎是一样的(除了success)。

在对这两个接口有了一定的了解后,说说这两个接口对请求的相应的不同表现。

先上张图体会下:
iclex.gif

wx.request 发出请求后,无论请求接口返回的 HTTP 状态码(200也好,500也好)是什么,都会进入 success 回调,和一般认为的 500 会进入 fail 回调不一样。(吐槽:对,接口是微信开发团队定的,按照这个规律,我们只能遵循,然后我就遵循这一规律继续写)

wx.uploadFile 发出请求后,如果请求接口返回的 HTTP 状态码为200时,会进入 success 回调,而返回其他状态码(如400、405、500等)时,会进入 fail 回调(黑人问号.jpg)。

虽然这不是啥大问题,但在微信小程序的开发过程中,上面提到的问题还是会让人一下子摸不着路子。个人觉得接口保持一致性还是很重要的,不过游戏的制定者不是我们,只能希望越改越好吧。

感觉不坑,对吧?下面其实才是坑人的地方。

本文得出结果是在微信开发者工具上运行的结果,跟实际手机预览得出的结果又有出入(微信你搞什么鬼!!!),如果在手机上预览(我是在iOS上预览的)的话会变成—— wx.request 和 wx.uploadFile 的回调被调用的情况是一样的。
回复

使用道具 举报

TA的社区排名

积分:暂未上榜

发帖:NO. 2497 名

在线:暂未上榜

最佳答案
0 

0

主题

18

帖子

75

积分

新人求带

积分
75
发表于 2016-12-20 10:56:54 | 显示全部楼层
1111111111111111111111111111111111111111111111
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

2

帖子

80

积分

新人求带

积分
80
发表于 2016-12-20 11:48:10 | 显示全部楼层
  坑很深
回复 支持 反对

使用道具 举报

TA的社区排名

积分:NO. 2224 名

发帖:NO. 3079 名

在线:NO. 4696 名

最佳答案
0 

0

主题

15

帖子

241

积分

新人求带

积分
241
发表于 2017-2-7 11:54:30 | 显示全部楼层
11111111111111111111111111111111111111111
回复 支持 反对

使用道具 举报

TA的社区排名

积分:NO. 885 名

发帖:NO. 613 名

在线:NO. 2554 名

最佳答案
0 

0

主题

43

帖子

441

积分

略知一二

积分
441
发表于 2017-2-10 10:07:31 | 显示全部楼层
感谢分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

henkuai.com是专业的第三方微信开发者平台,为生态而生。


本站为第三方微信开发者平台,非腾讯官方网站。

天津市滨海新区
中新生态城中成大道生态建设公寓9号楼3层301

欢迎来这里一起喝喝茶,
聊聊你的产品。

微信公众号gongzhongkaifa

工作日12小时内回复。

网站业务
zhongcong@henkuai.com

工作日12小时内回复。

市场合作
songchang@henkuai.com