处理动作调用URL后的HTML更改URL

时间:2012-12-28 15:49:37

标签: javascript html ajax url

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

一个页面(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) - > show table
  • (domain.com/pages/delete/ [id]) - >从表中删除[id] - > show table

我不想在第二个链接后重定向,因为我想最小化重定向并保持网站速度很高。这个可以通过AJAX调用来修复,但这可能会不必要地复杂化。我是否错过了一个简单的方法来使这个动作调用URL只是一个计时器(即通过刷新未被调用(意外)?)

1 个答案:

答案 0 :(得分:3)

您可以使用History API实现此目的:

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

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