我有一个AJAX调用,它负责一些服务器端设置(我在登录、语言切换等方面使用它)。只有在服务器端设置实际上因此调用而更改时,我才想要刷新当前页面(如果我们在POST后的页面上,不应重新提交POST表单数据)。在AJAX回调中简单的JS可以解决这个问题:
window.location.replace( window.location.toString() );
这个方法在没有锚点的情况下能够正常工作,但是当涉及到锚点时就会出现问题。假设我的URL是类似于http://www.mysite.com/index/list#someplace的形式,然后我执行了上述的ajax调用并以window.location.replace
结束,那么页面将不会被重新加载。目前已经在FF3.6和IE7上测试过。
window.location.hash = ''
,则在重新加载页面时哈希键仍然存在。 - Mic