我一直在寻找,以确定将用户登录重定向到客户端或服务器端的网站是否更好。根据我的研究,我发现依靠服务器端更好。
我有一个JS脚本,它将使用Jquery将数据发布到php脚本以检查用户登录详细信息,如果他们发现它告诉JS重定向。这工作没问题,但现在我想使用PHP脚本重定向,但是当我使用$ .post()方法时脚本不会重定向。
所以问题是,我如何重定向使用这种方式?我正在尝试构建这个系统,因此它独立于在浏览器中打开JS的用户,因此非常欢迎任何帮助和提示。
感谢。
答案 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);