最近在做小程序真机调试的时候小程序前端访问电脑服务器是显示登录请求失败,在网上找了现有的很多免费的教程都无法解决,最后在各种尝试下东拼西凑地解决了这个问题,所以我写下此博客从如何操作和一些简单原理详细地解决了这个问题。
报错如下:
🥰制作不易,如果能对你有帮助希望您关注一件三连,哈哈哈。
在此之前最基本的小程序配置(AppID等应该都申请并且配置好的),打开服务端口,这些我就不多说了。
前后端调试
1.首先检查手机和电脑是否在同一局域网内
首先要有局域网,我使用校园网但是两台设备不能连上。个人推荐可以用手机给电脑开热点(必要),然后用电脑ping手机的ip地址,ping通即可(可不做)
2.确认端口转发设置
我是原先用的服务器网址是电脑通过nodejs创建的 http://localhost:<port>,但是由于是电脑的前端连接本电脑后端,所以使用 http://localhost:<port> 或 http://127.0.0.1:<port> 都可以,因为 localhost 通常解析为 127.0.0.1(举个例子,其实这就是你的当前主机ipv4地址),两者都指向本地机器。但是现在是手机连接电脑服务器就得改了!
!!!但是我现在如果要用电脑连接上手机小程序端,就应该用http://<ip地址>:<port>
我再说详细一点,手机和电脑不在同一设备上,localhost
在手机上指向的是手机自身,而不是电脑。因此,手机必须使用电脑的 IP 地址(如 192.168.x.x
)或 127.0.0.1
(如果手机和电脑在同一网络且配置正确)。
即使用电脑的 IP 地址+<端口号>,端口号默认可能是3000,具体可以看看你生成端口的代码。
ps:
IP地址获取可以之间在此查看,或者cmd中输入ipconfig查看均可
3.关闭防火墙
都关了就完事
4.启动服务
!!!记得先启动你的服务器,然后再通过真机扫码测试,我好几次就忘了还傻傻找其他环境问题找半天
总结
到此为止手机小程序端就可以访问电脑服务器了(同个局域网内)。
如果还是不行把手机的开发者模式打开,检查一下自己是不是开梯子了,没使用梯子就把这个代理设置成不使用任何代理,勾选后直接连接网络)。