在开发vue+hbuilder的时候 用的axios 发现在安卓4.x机器上不支持网络访问,怎么办?

新手上路,请多包涵

低版本安卓系统(4.x)不能使用,报错如下:
clipboard.png

我用过转译:用了 es6—promise、 babel-poly-fill
clipboard.png

有遇到过类似问题的大侠吗?
拜请解答 非常感谢。。。。

阅读 4.8k
2 个回答
新手上路,请多包涵

用原生js 封装一个ajax文件、低版本兼容不好做啊
export default (url = '', data = {}, method = "get", success) => {

         var url = baseUrl + url;
   var  opt = opt || {};
         opt.method = method || 'POST';
    opt.url = url || '';
    opt.async = true;
    opt.data = data || null;
    opt.success = success || function () {};
    var xmlHttp = null;
    if (XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    }
    else {
        xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
    }var params = [];
    for (var key in opt.data){
        params.push(key + '=' + opt.data[key]);
    }
    var postData = params.join('&');
    if (opt.method.toUpperCase() === 'POST') {
        xmlHttp.open(opt.method, opt.url, opt.async);
        xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
        xmlHttp.send(postData);
    }
    else if (opt.method.toUpperCase() === 'GET') {
        xmlHttp.open(opt.method, opt.url + '?' + postData, opt.async);
        xmlHttp.send(null);
    } 
    xmlHttp.onreadystatechange = function () {
        if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
            opt.success(JSON.parse(xmlHttp.responseText.split(',')));  //获取的数据、先数组化、再转换为JSON 格式。
        }
    };
}

我在8.0版本的安卓上也出现Unhandled promise rejection这个报错,不清楚是不是与axios有关。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题