【发布时间】:2014-10-06 13:22:21
【问题描述】:
我正在使用 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);
}
}
这可行,但是在使用 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 而无需刷新页面,我们将不胜感激!
【问题讨论】:
-
您只想要一个有效的重定向,您考虑使用 javascript 进行重定向吗?
-
我用php因为需要根据会话变量是否存在..?
-
我希望我理解你的问题?也许这可能有助于 echo "";
-
哈哈,这很有效,我很生气它是如此简单!非常感谢,如果您将其写为答案,我会接受并+1。干杯:)
标签: javascript php jquery ajax jquery-mobile