【问题标题】:Redirect a page without using the header不使用页眉重定向页面
【发布时间】:2014-03-20 17:06:36
【问题描述】:

在我当前的项目中,标题只加载一次。项目的所有其余部分都使用 AJAX 方法添加和删除 Windows。

除了一个细节,一切都很好,因为我无法更改标题(页面总是被加载)。如果他的会话已过期,我如何将客户转移到登录屏幕?

到目前为止,我正在使用(在我的会话课程中):

public function LoginRedirect() {
//This function will redirect the user to the login page if the session is not valid. Will send GET Reason.
    $urlMessage = rawurlencode(utf8_encode($this->ErrMsg));
    echo '<script language="javascript"> window.location = "' . $this->RedirectURL . '?ErrMsg=' . $urlMessage . '";</script>';
}

但我不喜欢使用 Javascript 将页面重定向到登录屏幕。我还有什么其他的技巧可以使用吗?

谢谢

【问题讨论】:

  • 我猜你可以在 C 中构建一个 Apache 会话管理模块,然后处理会话和重定向……但我不确定我是否会推荐它——这似乎有点矫枉过正:P

标签: php ajax url-redirection


【解决方案1】:

如果您不想使用标头,可以设置&lt;meta&gt; 标签来进行重定向:

$newURL = $this->RedirectURL.'?ErrMsg='.$urlMessage;
echo '<meta http-equiv="refresh" content="0;url='.$newURL.'">';

【讨论】:

  • 我可以在文档头部之外使用元数据吗?由于我的文档已经加载完毕,并且使用 AJAX 完成了验证)
  • 它会在技术上是无效标记,但浏览器已经开发了解释损坏标记的方法,因此您可以 使用它,但建议在 head 元素中使用它们。您可以在此处阅读更多相关信息:stackoverflow.com/questions/1447842/… JavaScript 重定向可能是您的最佳选择。
  • 谢谢,我的想法是,如果可以的话,我会尝试另一种方法。我想一直保持“xhtml 严格”!但你确实回答了我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多