我正在使用jquery mobile 1.4创建一个web应用程序。我有一个表单,用户上传的东西到数据库。在此上传后,他们被重定向到另一个页面,我认为最好的办法是"禁用"后退按钮,通过检查在表单上的php会话变量,如果不存在(他们已经完成他们的任务后按回),用户得到重定向回到表单的开始,以防止他们输入数据到数据库两次。我使用的代码是
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);
}
}
这是有效的,但是它有点bug当你使用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>";