小程序-解决体验版只能打开调试工具才能加载数据(请求接口)问题

小程序-解决体验版只能打开调试工具才能加载数据(请求接口)问题,第1张

小亩旁碰程序开发完成后生成了体验版权,但数据一直加载不出迅谈来,解决方法:

1)打开微信开发者工具,查看是否开启(勾选)了“不校验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书”。如果开启,关掉(取消勾选)。

2)关掉之后,打开调试器。会出现如下错误提示,这是由于小程序后台没有配置服务器域名(request合法域名)导致的。

3)接下来,我们到小程序后台( mp.weixin.qq.com )进行域名配置:进入后台--左侧菜单打开“开发”--右侧选择“开发设置”--找到“服务器域名”--修改。

4) 重要!重要!重要! 回到微信开发者工具,右上角“详情”--“项目配置”--“域名信息”更新,看到域名信息列表和后台配置的一样,更新成功。

5)此时,小程序服务器域名已经添加成功,数据可以加启羡载出来了。

本地小程序开发工具测试请求接口都很正常,使用预览蚂简和真机调试功能在手机上运行请求接口总是失败。

小程序上线后,部分手机请求接口正常,部分手机请求接口失败,将请求接口复制到谷歌浏览器中查询总是成功的。

restful 接口定义为: https://ip:port/bus/:router_name ,其中 router_name 是个变量。实际请求接口为: https://ip:port/bus/993路 ,可以看到:请求地址中的变量 router_name 被 993路 给替换了。问题就出在这里, 请求地址中含有中文

在 小程序开发工具 、 谷歌浏览器 和 部分请求成功的手机 上最终发出的请求都会对请求地址中的中文汉字进行编码,如下:

在 开发工具中预览功能 、 开发工具中真机调试功能 和 部分请求不成功的手机 上最终发出的请求并不会对中文进行编码,如下:

上面分析了请求接口失败是因为部分手机没有对请求地址中的中文进行编码,解决方法为利用 js 自带的 api encodeURIComponent() 处理。

有一点需要注意:不能对整个请求地址进行编返郑码,那么的话会对所有除字母闷世裤、数字以外的符号进行编码,会变成下面这样,实际请求中仍然会报错。

在处理 restful 接口过程中,有一步用具体指(如: 991路 )替换请求地址中的变量(如: https://ip:port/bus/:router_name 中的 :router_name ),此时先对 991路 进行编码再替换变量值即可。

小程序分享成功如何查看请求接口信息步骤如下:

1、打开开发工具,点击上面的调试器按钮,打卖猛开调试器窗口。

2、在调试器窗口中点击调试器栏。

3、在调试器界面,有很多调中物桥试项目,选择上面的network进行网络调试。

4、在输入框中输入调试的接蚂拿口名称可以进行过滤请求。

5、在列表中选择接口,右侧会显示具体的网络请求详情。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12511199.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存