1. 问题描述

android 微信浏览器 无法打开新系统(app-web)页面,进一步发现是无法发送后端请求
网上没有出现过类似的问题.

2. 问题分析

  1. 用charles和vconsole发现请求没有返回数据(response是空)
  2. 通过查看后端服务器访问日志,没有接口被调用的日志
  3. 用jquery代替axios 可以正常访问
  4. 直接引用axios(import ‘axios’), 而不通过自己封装的拦截文件(import ‘@/common/js/axios’),可以正常访问
  5. 说明是自己封装的接口文件有问题
  6. 在axios文件中通过注释代码定位问题,发现自己加的参数影响了接口访问

    1. function addConstantParam(config) {
    2. config.params = config.params || {}
    3. config.params.clientVersion = 'v1.0'
    4. config.params.deviceInfo = getOsAndModel()
    5. config.params.ip = '127.0.0.1'
    6. config.params.timeRandom = new Date().valueOf()
    7. config.params._site = 'mt'
    8. return config
    9. }
  7. 最终定位到是如下这一行参数,只要添加就无法访问
    config.params.ip = '127.0.0.1'
    把127.0.0.1改成 localhost会有同样的问题

  8. 推测应该是android微信浏览器对 127.0.0.1 或者 localhost这类敏感内容进行了拦截.
    去掉这个参数, 恢复正常

参考文章

突破Android微信微博浏览器限制直接拉起应用

文档更新时间: 2019-10-29 10:39