我正在做一个ajax请求,并且在成功回调中我想刷新页面以反映更改。我正在尝试将参数传递到刷新该页面的同一页面。
网址类似于:
http://localhost:8080/details#component/12
我将附加参数如下所示。
window.location.href += "?code=approved";
window.location.reload();
上述内容适用于Firefox,但不适用于IE,请在此处提供帮助吗?
克里斯。
答案 0 :(得分:1)
尝试将这些用于IE:
window.location.reload(false); // To get page from cache
window.location.reload(true); // To get page from server
答案 1 :(得分:1)
哈希就是问题;您将数据附加到URL片段(#后面的部分)片段不会发送到服务器,即网址没有更改,因此无需再次请求页面。尝试手动添加'#some_text'浏览器中的网址,看看会发生什么;)
尝试这样的事情:
var newloc = document.location.href;
if(document.location.hash){
// remove fragment
newloc = newloc.substr(0, newloc.indexOf(document.location.hash));
}
newloc += document.location.search ? ";" : "?"; // prevent double question mark
newloc += 'code=approved';
// append fragment back to url
答案 2 :(得分:1)
如果window.location.hash
为空,则无法使用正确的函数(至少在chrome中测试)为location.href分配新值。
尝试window.location.replace
:
if (!window.location.hash)
{
window.location.replace(window.location.href + "?code=approved")
}