我正在尝试刷新有关Ajax成功的页面。

var lastId = "#" + id;
window.location.replace("/myurl" + lastId);

它正在将正确的URL写入我的浏览器,但是看不到所做的更改。如果刷新(F5)页面,则可以正确看到更改,因为正确发送了ajax。

因此,我认为如果网址相同,则该页面不会强制刷新。

在此示例中,我已经在http://mypage.com/myurl上,例如可以将我重定向到http://mypage.com/myurl#38174,因此我的浏览器将把DOM元素集中在id="38174"上。

就像我说的,如果我提交了ajax请求,我的URL会更改为http://mypage.com/myurl#38174并将焦点集中在id="38174"上,但是我看不到对DB上该元素所做的更改,如果我按F5键,它将聚焦在同一元素上,但更改正确如图所示。

为什么会发生这种情况?

我也尝试了window.location.hrefwindow.location,但没有成功。

如果我使用window.location.replace('http://stackoverflow.com');,则会正确地将我发送到此网站...

所以我认为问题是当替换为相同的url +一些#号标签时...也许吗?

正如我已经说过的,在这种情况下,特别是在成功完成AJAX请求之后,我们需要刷新,是的,这听起来很奇怪且适得其反,但这是必需的。

最佳答案

var lastId = "#" + id;
window.location.replace("/myurl" + lastId);
window.location.reload();

08-17 12:58