jQuery Ajax beforesend首先中止了ajax的成功

时间:2013-08-28 19:41:22

标签: jquery ajax

我有这个ajax:

$.ajax({
type: "POST",
cache: false,
url: 'update_db.php',
beforeSend: function(){
    $.ajax({
    type: "POST",
    cache: false,
    async: "false",
    dataType: "json",
    url: 'check_db.php',
    success: function(data){
       var nowmod = new Date();
       var lastmod = new Date(data[0].lastmod_date);
       if(nowmod > lastmod){
        //abort here the first ajax call and
                //reload the page after 2.5 sec                                                           
                setTimeout(function(){
             location.reload();}, 2500);

       }                                            
    }
    }); 
},
success: function(data){
  alert("success");
}
}); 

我试图将第一个ajax放在JS var中并调用

var.abort();

另外,我试过

return false 

在所有情况下,第一次ajax呼叫的成功事件正在起作用:警告“成功”!

我在Stackoverflow上看到了

的案例
beforeSend : function(xhr, opts){
    if(1 == 1) //just an example
    {
        xhr.abort();
    }
},

我的问题是我必须在中止ajax调用之前检查数据库。 欢迎任何建议。感谢。

1 个答案:

答案 0 :(得分:1)

您过度复杂,只需向update_db.php发送一个ajax请求,并在check_db.php内执行update_db.php逻辑。