PHP重定向破坏ajax,所以强制一次Jquery页面刷新


PHP Redirect breaks ajax so force one time Jquery page refresh

我正在使用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>";