如何在JavaScript中将页面重定向到自身?

如何在JavaScript中将页面重定向到自身?,javascript,jquery,url,redirect,reload,Javascript,Jquery,Url,Redirect,Reload,以下是我当前执行重定向的代码: window.location.href= '/post/' + data.main_id + '/' + subject + '#post-' + data.post_id; 当我在同一个URL中时,上面的代码只会更改slug。不管怎样,我需要同时更改slug和重新加载页面。如何通过JS甚至jQuery实现这一点?您可以通过首先将片段附加到URL,然后重新加载页面来实现这一点: window.location.href += '#post-' + data.

以下是我当前执行重定向的代码:

window.location.href= '/post/' + data.main_id + '/' + subject + '#post-' +  data.post_id;

当我在同一个URL中时,上面的代码只会更改slug。不管怎样,我需要同时更改slug和重新加载页面。如何通过JS甚至jQuery实现这一点?

您可以通过首先将片段附加到URL,然后重新加载页面来实现这一点:

window.location.href += '#post-' + data.post_id;
window.location.reload();
但是请注意,您可以通过使用并避免在片段更改时重新加载页面来进一步改进这一点。

您可以使用

location.reload();
请看

1)更改URL中的
#
片段怎么样?2) 请不要将W3学校作为参考。他们提供的信息往往过时,有时甚至完全不正确。更全面、更可靠。pushState()可能是更改URL的更好解决方案,而不是window.location.href,更多详细信息,这很好。。谢谢你,向上投票,但有时我并不总是在同一页上。。我的意思是,有时我需要重定向(不仅仅是更改slug)…在这种情况下,您根本不需要
reload()
window.location.assign('foo.html#post-12345')
使用
assign()
在同一页面时不会重新加载。。!你知道,我需要一个代码,它总是(总是意味着当我在同一页和当我在另一页)*都重新加载页面和更改slug。没有解决方案。当您在当前页面上时,您必须在我的回答中使用append和
reload()
解决方案。当重定向到其他页面时,您需要
assign()。正如我之前所说的,使用
pushState
是解决问题的更优雅的解决方案,但可能需要重新编写代码库。我做到了。。我已经写了一个答案。