PHP Redirect中断了ajax,因此强制一次刷新Jquery页面

时间:2014-08-13 08:46:33

标签: javascript php jquery ajax jquery-mobile

我正在使用jquery mobile 1.4创建一个webapp。我有一个表单,用户将内容上传到数据库。在上传之后,他们被重定向到另一个页面,我认为最好的办法是"禁用"后退按钮通过检查表单上的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);
    } 
} 

然而,当使用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的更好的想法,将不胜感激!

1 个答案:

答案 0 :(得分:1)

试试这个

 echo "<script> window.location.replace(\"index.php\")</script>";