ajax成功后重新加载页面

发布于 2024-12-11 09:58:10 字数 654 浏览 0 评论 0原文

成功的 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

I have some problems with redirecting/reloading after a successful ajax call.
Here is the situation:

I have item for deletion saved in an array. When I click on a button it calls for PHP file via ajax, and after success I need to reload the page. But I have some problem doing this.
I searched the internet and couldn't find a working solution.

I have PHP file which goes through the array deleting item by item from the database.

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

Also, I have jQuery part:

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

I mean, the code works, but not good. It does delete items, but not all of them and then it reloads the page.
Like, if I have 10 items to delete, it deletes like 6-7, and 3-4 items stay undeleted.

It acts like it reloads the page too soon, like PHP file does not have enough time to process everything :D

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

永不分离 2024-12-18 09:58:10

BrixenDK 是对的。

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

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

BrixenDK is right.

.ajaxStop() callback executed when all ajax call completed. This is a best place to put your handler.

$(document).ajaxStop(function(){
    window.location.reload();
});
寄离 2024-12-18 09:58:10

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

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

You use the ajaxStop to execute code when the ajax are completed:

$(document).ajaxStop(function(){
  setTimeout("window.location = 'otherpage.html'",100);
});
岁月苍老的讽刺 2024-12-18 09:58:10

使用此重新加载页面

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); 
   }
}

use this 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); 
   }
}
无法回应 2024-12-18 09:58:10

ajax成功后使用ajaxSuccess重新加载页面。

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

Using the ajaxSuccess to reload the page after ajax success.

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文