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

发布于 2022-09-01 22:50:50 字数 922 浏览 29 评论 0

我在项目中写了一个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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

紫竹語嫣☆ 2022-09-08 22:50:50

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

以下内容摘自Jquery官方文档

This handler is not called for cross-domain script and cross-domain JSONP requests. 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文