2014-04-08 75 views
1

我處於一種情況,我有一個Ajax函數調用遠程站點,將數據保存到數據庫中,然後我想刷新當前頁面以顯示新的數據。問題是我也在使用製表符,所以我需要將#tab6和URL一起傳遞給正確的製表符。Javascript window.location.href不重裝數據

我使用

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

如我刷新代碼。它似乎改變了URL,因爲在它運行後,我可以在URL的末尾看到#tab6。問題在於它實際上並沒有真正刷新頁面數據,因爲它沒有顯示從遠程服務器提取的新信息。我可以在真正刷新後看到這些數據。

hacky選項將運行window.location.href代碼來獲取URL中的錨,然後location.reload();獲取新數據,但是如果有更好的方法來處理它,我想避免這種情況。

回答

3

你應該?#之間改變一些東西。

E.g.您可以添加/替換)的隨機值之前#,用的Math.random(生成:

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

嘗試

window.location.reload(true); 

而哈克解決方案鉻

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

代替window.location.href使用window.location.assign