ajax成功后重新加载页面

时间:2011-10-24 19:46:52

标签: php jquery ajax refresh reload

在成功调用ajax后,我遇到了重定向/重新加载的问题。 情况如下:

我有一个删除项目保存在一个数组中。当我点击一个按钮时,它通过ajax调用PHP文件,成功后我需要重新加载页面。但我这样做有些问题。 我搜索了互联网,找不到可行的解决方案。

我有PHP文件,它通过数据库逐项删除数组。

foreach($arrayVals as $key=>$val)
{
    //bla bla
}

另外,我有jQuery部分:

$("#button").live("click",function(){
    $.ajax({
        url, data, type... not important
        success: function(html){
                    location.reload();
                }
    });
});

我的意思是,代码有效但不好。它会删除项目,但不会删除所有项目,然后重新加载页面。 比如,如果我要删除10个项目,它会删除6-7个项目,并且3-4个项目会保持删除状态。

就像它过早重新加载页面一样,PHP文件没有足够的时间来处理所有内容:D

3 个答案:

答案 0 :(得分:46)

BrixenDK是对的。

所有ajax调用完成后执行

.ajaxStop()回调。这是放置处理程序的最佳位置。

$(document).ajaxStop(function(){
    window.location.reload();
});

答案 1 :(得分:12)

在ajax完成时使用ajaxStop执行代码:

$(document).ajaxStop(function(){
  setTimeout("window.location = 'otherpage.html'",100);
});

答案 2 :(得分:4)

使用此Reload page

success: function(data){
   if(data.success == true){ // if true (1)
      setTimeout(function(){// wait for 5 secs(2)
           location.reload(); // then reload the page.(3)
      }, 5000); 
   }
}