我有一个变量来检查数据库中是否已经存在数据。 如果数据已经存在,它将返回到表单页面以输入新数据。这就是我所拥有的
<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>
答案 0 :(得分:1)
您可以使用History API更改网址:
history.back();
history.replaceState({}, "Registration", "register.php?msg=1");
location.reload();
答案 1 :(得分:0)
您可以使用:
window.location = "baseurl/route?get=var"
代替
window.history.back()
您需要能够将baseurl作为全局变量。将其从服务器发送并在javascript中设置为全局变量。
答案 2 :(得分:0)
使用浏览器返回很脆弱,因为您无法预测(或检查)将用户引向何处。 相反,我建议根据相关的用户操作或业务逻辑,该应用应使用所需的参数显式导航到register.php页面
// some code handling
var dataAlreadyPresent = checkIt();
if (dataAlreadyPresent) {
window.location = "/register.php?msg=yourMsg";
}
顺便说一句,请记住,此URL已保存,并且用户可能将其添加为书签或转发,因此,我建议您最好register.php服务器逻辑不要根据该输入自动执行操作。您可能想在register.php加载后使用replaceState(根据jcubic答案)清除历史记录状态。