ajax成功后重新加载页面

bos*_*maj 15 php ajax jquery refresh reload

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

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

我有PHP文件,它通过从数据库中逐项删除的数组.

foreach($arrayVals as $key=>$val)
{
    //bla bla
}
Run Code Online (Sandbox Code Playgroud)

另外,我有jQuery部分:

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

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

它的行为就像它很快重新加载页面,就像PHP文件没有足够的时间来处理所有内容:D

Vik*_*nje 46

BrixenDK是对的.

.ajaxStop()所有ajax调用完成后执行回调.这是放置处理程序的最佳位置.

$(document).ajaxStop(function(){
    window.location.reload();
});
Run Code Online (Sandbox Code Playgroud)

  • @VikasNaranje,我想知道应该在哪里添加此代码?内部成功函数? (2认同)

bri*_*nDK 12

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

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


nav*_*mar 5

使用此刷新页面

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); 
   }
}
Run Code Online (Sandbox Code Playgroud)