[英]How to pass a GET value when using history.back()?
我有一個變量來檢查數據庫中是否已存在數據。 如果數據已經存在,它將返回到表單頁面以輸入新數據。 這是我所擁有的
<script type="text/javascript">
window.history.back();
window.location = 'register.php?msg='<?php echo 1;?>
</script>
我也試過了,但是我不知道如何在URL中傳遞它:
<script type="text/javascript">
window.history.back();
window.alert('<?php $msg = 1; echo $msg;?>')
</script>
您可以使用History API更改網址:
history.back();
history.replaceState({}, "Registration", "register.php?msg=1");
location.reload();
您可以使用:
window.location = "baseurl/route?get=var"
代替
window.history.back()
您需要能夠將baseurl作為全局變量。 從您的服務器發送並在javascript中將其設置為全局變量。
使用瀏覽器后退很脆弱,因為您無法預測(或檢查)將用戶引向何處。 相反,我建議根據相關的用戶操作或業務邏輯,應用將使用您所需的參數顯式導航到register.php頁面
// some code handling
var dataAlreadyPresent = checkIt();
if (dataAlreadyPresent) {
window.location = "/register.php?msg=yourMsg";
}
順便說一句,請記住,此URL已保存,用戶可能將其添加為書簽或將其轉發,因此我建議不要使用register.php服務器邏輯,最好不要根據該輸入自動執行操作。 您可能想在register.php加載后使用replaceState(根據jcubic答案)清除歷史記錄狀態。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.