1. 问题描述
android 微信浏览器 无法打开新系统(app-web)页面,进一步发现是无法发送后端请求
网上没有出现过类似的问题.
2. 问题分析
- 用charles和vconsole发现请求没有返回数据(response是空)
- 通过查看后端服务器访问日志,没有接口被调用的日志
- 用jquery代替axios 可以正常访问
- 直接引用axios(import ‘axios’), 而不通过自己封装的拦截文件(import ‘@/common/js/axios’),可以正常访问
- 说明是自己封装的接口文件有问题
在axios文件中通过注释代码定位问题,发现自己加的参数影响了接口访问
function addConstantParam(config) {
config.params = config.params || {}
config.params.clientVersion = 'v1.0'
config.params.deviceInfo = getOsAndModel()
config.params.ip = '127.0.0.1'
config.params.timeRandom = new Date().valueOf()
config.params._site = 'mt'
return config
}
最终定位到是如下这一行参数,只要添加就无法访问
config.params.ip = '127.0.0.1'
把127.0.0.1改成 localhost会有同样的问题推测应该是android微信浏览器对 127.0.0.1 或者 localhost这类敏感内容进行了拦截.
去掉这个参数, 恢复正常
参考文章
文档更新时间: 2019-10-29 10:39