【问题标题】:Terminate jquery ajax request based on beforeSend event result根据 beforeSend 事件结果终止 jquery ajax 请求
【发布时间】:2012-06-19 05:06:07
【问题描述】:

有什么方法可以根据 beforeSend 结果终止 ajax 执行?

$.ajaxSetup({
    beforeSend: check,
});

function check() {
    if(success) { /* break ajax execution */ }
    else { /* continue */ }
}

【问题讨论】:

标签: jquery


【解决方案1】:

我看到可以在这里找到答案:Stop $.ajax on beforeSend。它应该如下所示:

$.ajaxSetup({
    beforeSend: check,
});

function check(xhr) {
    if(success) { xhr.abort(); }
    else { /* continue */ }
}

【讨论】:

    【解决方案2】:

    您可以尝试使用 abort() 方法:

    var xhr = $.ajax({     
        type: "POST",     
        url: "test",     
        data: "thedata",     
        success: function(msg){        alert( "Back again: " + msg );     } });  
    
    //kill the request... try these on beforeSend
    xhr.abort() 
    

    【讨论】:

      【解决方案3】:

      把它放在一个函数里面:

      $.ajax({
          beforeSend: function() {
            check();  
          },
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-09
        • 1970-01-01
        • 2016-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-26
        相关资源
        最近更新 更多