ajax删除请求后的页面重新加载

时间:2015-10-10 22:18:27

标签: javascript jquery ajax

我有一个网页,显示一个表格的所有记录,其中包含一个复选框。我可以选择这些框,然后发出ajax请求删除它们。

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

我用于重定向的内容

-

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

  • location.reload(真)

我用它们成功回调。如果我点击浏览器,那就可以了。

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

使用Math.random生成哈希并将其放在页面的href中。这个页面重新加载没有缓存。缓存外观页面用于查询缓存中的内容。

看一下这个例子:



function reloadWithNoCache(){
  window.location = window.location.href + '?eraseCache=' + Math.random();
}

<input type="button" value="Refresh With No Cache" onclick="reloadWithNoCache()"/>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

你试图做的方式是一种hacky方式。 如果您正在尝试刷新页面,然后使用位置重新加载或任何其他方式,那么无需进行ajax调用,您只需进行删除调用并将页面定位到新的URL,就像初始请求一样。

这个解决方案会更大但可扩展。 我希望你可能会使用一些前端模板渲染初始表,并将一些数据作为模型提供给表。因此,在ajax请求成功而不是重新加载页面时,尝试使用其余数据重建DOM。

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

删除后将模型更新为1 3(如果已删除2) 并使用新模型{1,3}调用表的render方法擦除旧表。如果你觉得数据太重(除非它太大),它可能真的让用户有性能,你可以采用这种方法。

答案 3 :(得分:0)

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