首页 > 关于Juqery的Ajax错误返回,error方法中返回的参数与网上查到的不一样,详细看下面

关于Juqery的Ajax错误返回,error方法中返回的参数与网上查到的不一样,详细看下面

我在项目中写了一个Ajax请求,特别奇怪的是,用电脑测试时是没有问题的,当我用了公司的无线网,和我自己的手机流量时,页面就没有反应,于是我在Ajax中用了error方法来弹一些数据想看一下原因。可是返回的数据,让我很迷惑,Ajax代码大概如下:

$.ajax({
    url: '//请求地址',
    data: {
        mob: 703
    },
    dataType: 'jsonp',//对了我是跨域请求,再强调一下电脑是没有问题,这个错误就发生在我用手机时的几个特定网络
    method: 'get',
    error: function(XMLHttpRequest, textStatus, errorThrown){
          alert('XMLHttpRequest.status: '+ XMLHttpRequest.status);
          alert('XMLHttpRequest.readyState: '+ XMLHttpRequest.readyState);
          alert('textStatus: '+ textStatus);
          alert('errorThrown: '+errorThrown);
     },
     success: function(){}
});

以上就是我大概Ajax的部分,我想我写的够清楚了。我再说一下手机上显示的内容吧。

XMLHttpRequest.status: undefined
XMLHttpRequest.readyState: undefined
//好像就没取到XMLHttpRequest一样
textStatus: error//网上查了好久也没查到error代表什么,大概的错误原因啥的
errorThrown: null

大概的情况就如上所述,还希望大神能帮忙解释一下,我在不停的找原因,快疯了。谢谢啦。


在跨域方式下error回调是不会触发的,既然你的代码触发了error回调,说明你没有正确使用跨域。

以下内容摘自Jquery官方文档:

This handler is not called for cross-domain script and cross-domain JSONP requests. 
【热门文章】
【热门文章】