我正在使用 jquery mobile 1.4 创建一个网络应用程序。我有一个表单,用户可以将某些内容上传到数据库。上传后,他们被重定向到另一个页面,我认为最好的办法是通过检查表单上的 php session 变量以及是否不存在来“禁用”后退按钮(他们在完成任务后按下了返回键) )用户被重定向回表单的开头,以防止他们向数据库中输入数据两次。我为此使用的代码是
if(!isset($_SESSION['RES_CUSTOMERID'])){
header("Location: my_page_here.php",TRUE,301);
}
但是,my_page_here.php
页面使用ajax 加载用户可以从中选择的表。在此重定向之后,表不再加载,我必须刷新页面才能获取任何数据。我认为解决这个问题的方法是,如果客户来自此页面,则强制进行 jquery 刷新。我这样做的方法是:
window.onload = function()
{
if (!window.location.search)
{
setTimeout("window.location+='?fromCustRes';", .10000000);
}
}
它可以工作,但是在使用 android 选项卡时它有点错误,因为你可以看到闪烁。我想通过使其仅在用户使用 $_SERVER['HTTP_REFERER'];
来自此特定页面时刷新来“修复”此问题,并创建一个隐藏的输入值以将其传递给 jquery 和将其写入我的函数中,但我无法让它工作。这就是我一直在尝试做的事情:
<input type='hidden' name='from' id='from' value=<?php echo $from;?> />
window.onload = function()
{
if ((($('#from').val()) === 'my string' )
if (!window.location.search)
{
setTimeout("window.location+='?fromCustRes';", .10000000);
}
}
我尝试了一些变体,但我无法让任何东西工作,它只是给了我一个空白页面,就像我破坏了ajax一样。如果有人对此有任何解决方案,或者有任何关于在不刷新页面的情况下重定向加载 ajax 的更好想法,我们将不胜感激!
最佳答案
试试这个
echo "<script> window.location.replace(\"index.php\")</script>";
关于javascript - PHP Redirect 会破坏 ajax,因此强制 Jquery 页面刷新一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25281830/