当前位置 : 主页 > 网页制作 > JQuery >

jquery – $.ajaxError如何工作?

来源:互联网 收集:自由互联 发布时间:2021-06-15
我广泛使用$.get,$.post和$.get JSON,所以我想看看.ajaxError是如何工作的.我试过这个…… $(document).ajaxError(function (e, xhr, options, error){ console.log(e); console.log(xhr); console.log(options); console.log(error
我广泛使用$.get,$.post和$.get JSON,所以我想看看.ajaxError是如何工作的.我试过这个……

$(document).ajaxError(function (e, xhr, options, error)
{
    console.log(e);
    console.log(xhr);
    console.log(options);
    console.log(error);
});

我也试过把它放在我的$(文件).ready()中.然后我禁用了我的网络连接.从AJAX中的定时POST中出现了大量错误(因为它们得到了意想不到的响应),并且GET立即回来(缓存),但Firebug中没有出现任何其他内容,就好像ajaxError从未被调用过一样.我究竟做错了什么?我只是再次尝试没有控制台日志,只是提醒(‘foo’),再也没有发生任何事情.很多错误,但ajaxError永远不会解雇.

当实际的XHR没有从服务器 as you can see in the jQuery source的给定响应中接收到HTTP成功代码时,触发ajaxError.该特定函数中的响应代码被视为“成功”代码;其他任何事情都是失败的.

当你的XMLHTTPRequest以readyState为4(完成所有收到的数据)结束时,jQuery也只分支到触发ajaxError的代码,所以我认为关闭你的网络连接实际上会让你完全处于不同的XHR状态(可能是一个循环)条件2?). You can see how jQuery branches in the source, too.

基本上,它看起来服务器没有说请求失败并发送回上述范围之外的代码,你可能不会看到ajaxError被触发,因为根据jQuery,它没有收到错误.

网友评论