如何使用PHP而不是JS重定向用户

时间:2013-10-15 09:07:45

标签: javascript php jquery

我一直在寻找,以确定将用户登录重定向到客户端或服务器端的网站是否更好。根据我的研究,我发现依靠服务器端更好。

我有一个JS脚本,它将使用Jquery将数据发布到php脚本以检查用户登录详细信息,如果他们发现它告诉JS重定向。这工作没问题,但现在我想使用PHP脚本重定向,但是当我使用$ .post()方法时脚本不会重定向。

所以问题是,我如何重定向使用这种方式?我正在尝试构建这个系统,因此它独立于在浏览器中打开JS的用户,因此非常欢迎任何帮助和提示。

感谢。

3 个答案:

答案 0 :(得分:4)

因为您使用的是AJAX,所以只有JavaScript可以重定向浏览器。如果服务器尝试这样做,它将只重定向AJAX请求。

话虽如此,您声明“正在尝试构建此系统以使其独立于使用JS的用户”与您对$.post()的使用相矛盾。

答案 1 :(得分:0)

您可以从此处获取“位置”标题(重定向网址):

jQuery - get AJAX response headers

success: function(res, status, xhr) { 
  alert(xhr.getResponseHeader("Location"));
}

答案 2 :(得分:0)

使用标准表单将凭据发布到auth方法。使用JavaScript作为主要的身份验证方法就像没有身份验证一样。

如果您已经充分解决了这个问题,并且只是在寻找非js后备,那就把它变成非js。 PHP重定向非常简单,但您必须输出一个不能异步完成的标头,因此您无论如何都必须发布数据。

示例PHP重定向

header ('HTTP/1.1 301 Moved Permanently');
header ('Location: '.$location);