【小程序】关于wx.request的一些坑

常规使用方法

wx.request({
          
   
  url: , //需要请求的url接口
  method: GET//请求类型
  data: {
          
   
  	//请求数据
    x: ,
    y: 
  },
  header: {
          
   
  	//请求头
    content-type: application/json // 默认值
  },
  success (res) {
          
   
  	//请求得到的返回数据
    console.log(res.data)
  }
})

这是官方给的使用示例,看起来很清晰明朗,感觉用起来很简单,但是在实际的项目当中,总会有各种各样的坑,下面就来细数一下

遇到的坑

1.提示域名不在以下request合法域名配置

这是最常见的错误之一,如下图所示,这是因为小程序作为腾讯体系的一部分,你要访问什么网页那必定要经过腾讯的允许,所以要请求一个网址,首先要在小程序的开发设置里面设置一下。 设置方法也很简单,打开小程序的官网,登录进去,在页面左侧寻找【开发】中的【开发管理】,点击进去

进入之后,进入【开发设置】的页面

在这个页面往下滑,就可以看到这样的界面,点击右上角修改按钮,弹出一个身份认证的窗口,认证成功后就可以修改了,需要注意的是,域名只能使用https://开头,并且域名必须备案。

2.在开发者工具中可以请求成功,真机调试也可以,但是真机预览失败fail

这是最常见的一种错误,很多时候我们也会遇到这个问题,当初我也是被这个问题搞得头疼脑大,在网上查了很多资料,大部分说的是域名的问题,比如域名没有备案,或者证书有问题等等,当然,这些也是一种可能,所以这里也给出检测的网站,可以试一试是不是网址的问题 (新备案的网址需要24小时之后才能生效) 主要就是这些检测工具,如果显示都没问题的话,其实和网址的关系就不大了,可能是其他问题,可以采用以下方法试试: 1.重启开发者工具 2.清除缓存 3.在真机上长按小程序把小程序删除后,再重新在开发者工具中发起预览(一开始不会用,纠结了一天的东西没想到就这样简单的就解决了,真的太气人了) 除了以上的部分,还有一个方法,就是在开发者工具中,点开【详情】->【本地设置】,把不检验合法域名…这个选项打开,但是我觉得这个只是一个临时的做法,因为这只是解决了在开发者工具中随便请求的一个问题,实际上线或者真机预览依然不能请求,所以只是一个临时做法,可以用来测试接口好不好使,避免浪费一次修改request域名的机会

经验分享 程序员 微信小程序 职场和发展