首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ajax成功后重新加载页面

在ajax成功后重新加载页面
EN

Stack Overflow用户
提问于 2011-10-25 03:46:52
回答 4查看 146.9K关注 0票数 20

在成功调用ajax之后,我遇到了一些重定向/重新加载的问题。情况是这样的:

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

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

代码语言:javascript
运行
复制
foreach($arrayVals as $key=>$val)
{
    //bla bla
}

另外,我还有jQuery part:

代码语言:javascript
运行
复制
$("#button").live("click",function(){
    $.ajax({
        url, data, type... not important
        success: function(html){
                    location.reload();
                }
    });
});

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

它的表现就像它太快地重新加载页面,就像PHP文件没有足够的时间来处理所有事情:D

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-25 04:01:37

BrixenDK是对的。

在所有ajax调用完成时执行.ajaxStop()回调。这是放置你的训练员的最好地方。

代码语言:javascript
运行
复制
$(document).ajaxStop(function(){
    window.location.reload();
});
票数 55
EN

Stack Overflow用户

发布于 2011-10-25 03:53:26

当ajax完成时,您可以使用ajaxStop执行代码:

代码语言:javascript
运行
复制
$(document).ajaxStop(function(){
  setTimeout("window.location = 'otherpage.html'",100);
});
票数 12
EN

Stack Overflow用户

发布于 2016-10-23 17:48:26

使用此Reload page

代码语言:javascript
运行
复制
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); 
   }
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7881089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档