Javascript window.location.href没有重新加载数据

时间:2014-04-08 07:34:50

标签: javascript jquery ajax window.location

我遇到的情况是我有一个Ajax函数调用远程站点,将数据保存到数据库中,然后我想刷新当前页面以显示新数据。问题是我也在使用标签,所以我需要通过带有URL的#tab6来让访问者回到正确的标签页。

我正在使用

window.location.href = '/clientarea.php?action=productdetails&id=<?php echo $_POST['pkgid']; ?>#tab6';

作为我的刷新代码。它确实会改变URL,因为在运行之后我可以在URL的末尾看到#tab6。问题是它实际上并没有真正刷新页面数据,因为它没有显示从远程服务器提取的新信息。我可以在真正刷新后看到数据。

hacky选项是运行window.location.href代码以获取URL中的锚点,然后location.reload();获取新数据,但我想避免这样做,如果有更好的方法来处理它。

3 个答案:

答案 0 :(得分:4)

您应该在?#之间进行更改。

E.g。您可以在使用Math.random()生成的#之前添加/替换随机值:

window.location.href = '/clientarea.php?action=productdetails&id=<?php echo $_POST['pkgid']; ?>&random='+Math.random()+'#tab6';

答案 1 :(得分:2)

尝试

window.location.reload(true);

hacky解决方案

setTimeout(function(){window.location.reload(true);},100)

答案 2 :(得分:-2)

而不是window.location.href使用window.location.assign