javascript – 使用windows.location.replace刷新不使用URL中的哈希的页面

我有一个AJAX调用,它负责一些服务器端设置(我正在使用它进行登录,语言切换等).如果且仅当服务器端设置由于此调用而实际更改时,我想刷新当前页面(如果我们在POST后立即在页面上,则不重新发布POST表单数据). AJAX回调中的一个简单的JS负责这个:

window.location.replace( window.location.toString() );

这很好,直到我开始使用锚点.假设我的URL类似于http://www.mysite.com/index/list#someplace,我执行前面提到的以window.location.replace结尾的ajax调用,然后没有任何反应.页面无法重新加载.到目前为止在FF3.6和IE7上进行了测试.

解决方法:

你尝试过:

window.location.hash = ''; //if you want to reload with an empty hash
window.location.reload(true); //reload the page and bypass the cache

我们为我们的网络应用程序使用单个网页,并且某些功能(货币,语言等的更改)可能会触发重新加载.

如果你想阻止一些重新发布,你可以使用cookie来防止服务器做双重工作.

上一篇:display:none与visibility: hidden的区别


下一篇:Python 解决 :NameError: name 'reload' is not defined 问题