未通过ajax调用发送php重定向头

未通过ajax调用发送php重定向头,php,javascript,ajax,header,callback,Php,Javascript,Ajax,Header,Callback,我试图从一个用ajax调用的php文件发送头文件。问题是,当我用php验证所有信息时,我想重定向到另一个页面,但标题不起作用!有什么想法吗 代码的作用: //------------- index.php on click of input, function passes <input> values through $_POST to login.php if($_SESSION[superman]==true){redirects to index_main.php} //-

我试图从一个用ajax调用的php文件发送头文件。问题是,当我用php验证所有信息时,我想重定向到另一个页面,但标题不起作用!有什么想法吗

代码的作用:

//------------- index.php
on click of input, function passes <input> values through $_POST to login.php
if($_SESSION[superman]==true){redirects to index_main.php}

//------------- login.php
all it does is validate forms and if login and password are correct, it sets $_SESSION [superman]=true
/--------------index.php
单击输入后,函数将值通过$\u POST传递到login.php
if($_SESSION[superman]==true){重定向到index_main.php}
//-------------login.php
它所做的只是验证表单,如果登录名和密码正确,它将$\u SESSION[superman]=true

重定向只会重定向Ajax调用!如果要更改浏览器中显示的页面,则需要在Ajax调用完成后使用Javascript重定向

  • 让您的Ajax调用返回一个指示成功登录的值(例如字符串
    true
    ,或者您想要加载的页面的URL)
  • 检查Ajax调用的返回值。如果成功,请使用Javascript更改
    location.href

vakstrom ok,因此在login.php中我们将var vaka=true;在主文件中,如果(vaka==true){location.href}。。?或者我们需要通过一个ajax调用返回主文件吗?@semur,这取决于您如何解析响应。它看起来是这样的:ajba.open(“POST”,“php_reg/login.php?login_login=“+str1+”&login_password=“+str2,true”);是请求login.php验证表单,如果一切正常,$\u SESSION[redir\u main]=true;否则回显“错误”;进行响应的主文件将查看会话是否已设置,并使用头重定向。它可以工作,但只有在我提交值并刷新之后(然后php意识到有一个已注册的会话,并重定向)。我真的不知道如何解释……您需要监控通话的
readyState
,通话结束后检查
responseText
。请参阅本页的教程:好的,我们对验证表单的外部文件进行ajax调用,然后如果每次调用都正确,它将使用标题重定向。标题不起作用(即使我将它们放在发送ajax函数的主文件中)