刘勇虎的官方网站
网站内容包含大前端、服务器开发、Python开发、iOS开发、Android开发、网站维护等技术文章。专注于分享技术经验,职业心得体会,IT优秀文章与教程创作。
Stay hungry,Stay foolish,Stay young
我正在尝试刷新有关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.href
和window.location
,但没有成功。
如果我使用window.location.replace('http://stackoverflow.com');
,则会正确地将我发送到此网站…
所以我认为问题是当替换为相同的url +一些#号标签时…也许吗?
正如我已经说过的,在这种情况下,特别是在成功完成AJAX请求之后,我们需要刷新,是的,这听起来很奇怪且适得其反,但这是必需的。
最佳答案
var lastId = "#" + id;
window.location.replace("/myurl" + lastId);
window.location.reload();