小程序本地测试:开发者工具可以请求后台数据,但手机预览不能
在微信小程序本地开发测试的过程中(这里指本地测试,本地测试,本地测试,重要的事情说三遍),会遇到一个坑:在微信开发者工具中可以正常请求本地后台数据。但在移动预览中无法请求,如下图:
微信开发者工具中数据显示正常
移动预览中没有数据
为了解决这个问题,需要进行以下4项设置:
1.微信开发者工具中设置:不验证合法域名、web-view(企业域名)、TLS版本和证书
2. wx请求的地址。不能使用,应改为本地服务器所在计算机的IP地址。
假设电脑的IP是192.168.0.110;请求的地址为:/list/;代码写法如下:
wx.({//url: '',错误的请求地址url:'',//正确的请求地址数据:{},:{'-type':'/json'},(res){.log(res 。数据)}})
3、手机和电脑(本地服务器)需要连接同一局域网(WIFI网络)
4、手机扫描二维码进入小程序后,需要开启调试模式来请求数据。
进入小程序后,页面数据仍为空;点击右上角三个点,打开调试
开启调试后,当前小程序会自动关闭。需要重新进入调试模式才能生效。
重新进入小程序,可以看到页面数据已经出来了,并且右下角有一个绿色方块的调试工具按钮。
点击右下角的调试工具按钮,可以看到页面上的所有数据,方便开发者在手机上更好的进行测试。
总结
1、本地测试时,微信开发者工具必须勾选此项设置(不验证合法域名),否则微信开发者工具将无法请求数据;上线后取消该设置。为什么需要设置(不验证合法域名)的文档地址如下:
2.当使用wx.请求地址,如果URL是这种格式,虽然在微信开发者工具中可以请求后台数据,但是在手机上预览时无法请求数据。因为指的是本地服务器所在的电脑,不知道手机访问的是什么,所以需要使用本机的IP+请求地址。
3、问:为什么手机在开启调试模式时可以请求数据,但未开启时无法请求数据?这其实和之前微信开发者工具不验证合法域名的设置是一样的。