Javascript HTML在处理调用URL的操作后更改URL

Javascript HTML在处理调用URL的操作后更改URL,javascript,html,ajax,url,Javascript,Html,Ajax,Url,我发现这个问题很难在标题中简单改写,但事实就是这样: 例如,一个页面(domain.com/pages)显示了一个包含数据库中的行的表,我为每一行提供了一个“删除”按钮。例如,当删除ID为5的行时,此按钮将重定向到(domain.com/pages/delete/5)。加载页面时,它会识别需要删除的第5行,因此它会这样做。之后,它继续加载,就像请求了(domain.com/pages)一样。因此,现在该表再次显示,行ID 5已删除,地址栏中的URL为(domain.com/pages/delet

我发现这个问题很难在标题中简单改写,但事实就是这样:

例如,一个页面(domain.com/pages)显示了一个包含数据库中的行的表,我为每一行提供了一个“删除”按钮。例如,当删除ID为5的行时,此按钮将重定向到(domain.com/pages/delete/5)。加载页面时,它会识别需要删除的第5行,因此它会这样做。之后,它继续加载,就像请求了(domain.com/pages)一样。因此,现在该表再次显示,行ID 5已删除,地址栏中的URL为(domain.com/pages/delete/5)。刷新时,它会重新加载(domain.com/pages/delete/5),但我希望它重新加载(domain.com/pages)

简言之:

  • (domain.com/pages)->显示表格
  • (domain.com/pages/delete/[id])->从表中删除[id]->显示表

我不想在第二个链接后重定向,因为我想最小化重定向并保持站点速度高。这可以通过AJAX调用解决,但这可能会使事情变得不必要的复杂。我是否错过了一种简单的方法,可以使调用URL的操作只需一个计时器(即,不通过刷新(意外)调用)?

您可以通过历史API实现这一点:

if( history.replaceState) history.replaceState(null,document.title,"/pages");

但是,如果您对性能感兴趣,请记住,每次删除一行时,都必须重新加载整个表。相反,您应该使用AJAX请求服务器删除该行,然后使用
.removeChild()
从表中删除相应的行。

您可以通过历史API实现这一点:

if( history.replaceState) history.replaceState(null,document.title,"/pages");

但是,如果您对性能感兴趣,请记住,每次删除一行时,都必须重新加载整个表。相反,您应该使用AJAX请求服务器删除该行,然后使用
.removeChild()
从表中删除相应的行。

AJAX确实是一个更好的解决方案。如果没有,从删除页面发出location.replace(“domain.com/pages”),Ajax确实是一个更好的解决方案。如果没有,从删除页面发出location.replace(“domain.com/pages”)。第一部分依赖于HTML5。我们不要想当然地认为他在用那个。否则,答案很可靠。我个人推荐Ajax。第一部分依赖于HTML5。我们不要想当然地认为他在用那个。否则,答案很可靠。我个人推荐Ajax。