繁体   English   中英

Ajax请求删除后页面重新加载

[英]Page reload after ajax request for delete

我有一个网页,其中显示表格的所有记录,并在其前面有一个复选框。 我可以选择这些框,然后发出ajax请求以将其删除。

删除工作正常。 但即使刷新后,它也会显示已删除的记录。

我用于重定向的内容

-

  • window.location.href ='/ current_page';

  • location.reload(真)

我用他们成功回调。 如果我单击浏览器,那么它可以工作。

尝试通过调用以下函数来使用锚来重定向:

function redirectFunc(){
  var link = document.createElement('a');
    // set your page url 
    link.href = "url";
    document.body.appendChild(link);
    link.click();
}

使用Math.random生成哈希并将其放入页面的href中。 这样就可以在没有缓存的情况下重新加载页面。 高速缓存查找地址页面,用于查询高速缓存中的内容。

看这个例子:

 function reloadWithNoCache(){ window.location = window.location.href + '?eraseCache=' + Math.random(); } 
 <input type="button" value="Refresh With No Cache" onclick="reloadWithNoCache()"/> 

您尝试做的方式是一种骇人听闻的方式。 如果您尝试刷新页面,然后使用位置重载或其他任何方式,那么毫无意义地进行ajax调用,您可以简单地进行一次delete调用,并将页面定位为新URL,就像初始请求一样。

该解决方案将更大一些,但可以扩展。 我希望您可以使用一些前端模板来提供初始数据,以将初始数据提供给表。 因此,在成功执行ajax请求而不是重新加载页面时,请尝试使用其余的数据重建DOM。

例如:model = {1,2,3}表包含1 2 3

删除后,将模型更新为1 3(如果已删除2),并使用新模型{1,3}调用表的render方法,以擦除旧表。 如果您认为数据太重(除非数据太大),以至于可能会给用户带来性能上的困扰,则可以采用这种方法。

无需刷新页面。 您可以在ajax成功回调中使用jQuery删除表中的行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM