检查jQuery的$ .post()是否因连接丢失而失败

时间:2010-07-22 03:57:18

标签: post jquery

我在我的脚本中做了一堆$ .post(),在$(文档).ready(function(){

jQuery说:

  

如果使用jQuery.post()的请求返回错误代码,它将无声地失败,除非该脚本还调用了全局.ajaxError()方法。

我尝试将其添加为第一个测试

$(document).ajaxError(function(e, xhr, settings, exception) {
alert('error in: ' + settings.url + ' \\n'+'error:\\n' + exception);
});

但它没有做任何事情。有人可以帮忙吗?如果互联网连接丢失,我只需要弹出警报。我也尝试过使用window.navigator.onLine,但在Safari

中不支持

3 个答案:

答案 0 :(得分:0)

您是否尝试过不将其绑定到文档?

$('.log').ajaxError(function(e, xhr, settings, exception) {
   alert('error in: ' + settings.url + ' \\n'+'error:\\n' + exception);
});

答案 1 :(得分:0)

woops,看起来我设法放松了与原帖的关联 - 我发了这篇帖子。

无论如何澄清,我的代码是:

  $(document).ready(function(){ 

$(this).ajaxError(function(e, xhr, settings, exception) {
    alert('error in: ' + settings.url + ' \\n'+'error:\\n' + exception);
});

$.post("dostuf.php", { action: "thething"  });

没有抛出任何错误。

答案 2 :(得分:0)

不确定.post();但是在.ajax()的api中有一个可以传递给对象的错误函数。

$.ajax({
    type:"post",
    url:"http://yourwebservice.com/get_data",
    error:function(XMLHttpRequest, textStatus, errorThrown) { 
        //do stuff 
        alert('fail whale');
    },
    success:function(data) {
        alert('it worked!');
    }        
});

请参阅http://api.jquery.com/jQuery.ajax/

顺便说一句,欢迎来到stackoverflow!