我有一个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来防止服务器做双重工作.