在重新加载期间通过url发送参数

时间:2012-05-19 12:36:14

标签: javascript html url window.location

我正在做一个ajax请求,并且在成功回调中我想刷新页面以反映更改。我正在尝试将参数传递到刷新该页面的同一页面。

网址类似于:

http://localhost:8080/details#component/12我将附加参数如下所示。

window.location.href += "?code=approved";
window.location.reload();

上述内容适用于Firefox,但不适用于IE,请在此处提供帮助吗?

克里斯。

3 个答案:

答案 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")
    }