今天在跟前端对接app接口的时候,前端用uniapp的uni.request请求报错:
{"errMsg":"request:fail abort statusCode:-1"}
因为我和前端都是新手,所以出现问题,也不太确定是前端的问题还是后端的问题,就一起讨论解决。
上网查了一圈,总共发现了几种解决办法:
1.是使用127.0.0.1 本地回环地址,修改为本机ipv4地址解决
2.将sslVerify设置成false,但是有人说Android端的app有效,但是ios端的无效。还有的反映在升级IDE 2.7.9 后出现一样的问题;安卓10 HTTP协议 sslVerify: false, 照样出问题。
3.看URL是否带上了http://或https://
4.在执行uni.request()向服务端请求前,使用uni.getNetworkType()和uni.onNetworkStatusChange()对网络进行监听,如果监听到当前设备是处于无网络的状态时,就不执行uni.request()请求,而是弹出一个弹框或者消息提示,提醒用户:“当前设备断网了,请检查网络后重试”。
5.手机打开wifi,和电脑连接同一个网
以上都没有用,最后发现是前端设置的反向代理导致的,反向代理在web端模拟时可用的,在手机上运行的话就不能了。