javascript - PHP Redirect 会破坏 ajax,因此强制 Jquery 页面刷新一次

标签 javascript php jquery ajax jquery-mobile

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

相关文章:

javascript - node.js路由中的URL设计

javascript - jqPlot和命名系列

PHP curl 头

php - 在 cookie 中为我的每个未登录用户提供唯一的 session ID

javascript - 如何屏蔽 "."char?

javascript - Meteor - simpl-schema 类型 bool 值,接受 "Yes"为真, "No"为假

javascript - 使用 D3.js 计算带有字母间距的文本长度

php - 如何在 PHP 中编辑二进制图像?

jQuery 表计数行始终返回值 1

jQuery - 将 Bootstrap 下拉类添加到现有 UL LI 菜单结构