Javascript php脚本中的重定向头函数不工作

Javascript php脚本中的重定向头函数不工作,javascript,php,ajax,header,Javascript,Php,Ajax,Header,我使用本地主机来托管这个测试站点,在我的一个java脚本文件中,我创建了一个对php脚本的ajax请求 if(hIF == "true"){ $.ajax({ type: "POST", url: "log_in/login.php", data: {name: userName, pwd: password}, success: function(response){ if(response=

我使用本地主机来托管这个测试站点,在我的一个java脚本文件中,我创建了一个对php脚本的ajax请求

if(hIF == "true"){
        $.ajax({
        type: "POST",
        url: "log_in/login.php",
        data: {name: userName, pwd: password},
        success: function(response){

          if(response=="true")
          {
             changeColor('#add_err', 'rColWet', 'gColor');
             $("#add_err").text("Login Successfull");
             $('#clEx').delay("slow").click();
             //window.location = "profile/dashboard.php";
          }
          else if(response=="false")
          {
               changeColor('#add_err', 'gColor', 'rColWet');
             $("#add_err").text("Login Failed");
          }else {
             $("#add_err").text(" Abnormal response from server");
             alert(response);
             }
        }
    });
在我的PHP脚本的一部分中,我调用了一个函数,如果前面的条件为真,该函数将用户重定向到另一个页面

if($num_row >=1){
move_to();
}
else{
echo 'false';
}
下面是位于php脚本顶部的函数

function move_to(){
header('location:..//profile//dashboard.php?');
exit;
}

一切似乎都按正确的顺序进行,但当我运行代码时,它不会将我重定向到move_to函数中指定的页面,而是将php脚本的内容(即我希望重定向到的文件)发送回ajax调用


我很乐意使用“window.location=”“重定向到另一个页面,因为当我使用它时,它工作得非常好,但我希望看到这种重定向工作的头方法(即使用头函数重定向)。我还想知道谷歌为什么不建议使用“window.location”“用于重定向以及使用此方法的缺点是什么(即使用window.location进行重定向)。谢谢你(uu:)

你为什么要创建一个重定向函数……无论如何,你仍然可以按照下面的代码从php使用window.location

echo "<script>window.location='..//profile//dashboard.php'</script>";
echo“window.location=”../profile//dashboard.php';
确保URL正确,否则使用完整的URL链接路径进行测试,例如

简而言之,试试这个

if($num_row >=1){
move_to();
header("Location:../profile//dashboard.php");
//or

 echo "<script>window.location='..//profile//dashboard.php'</script>";
}
else{
echo 'false';
}
如果($num\u row>=1){
移动到();
标题(“位置:../profile//dashboard.php”);
//或
echo“window.location='../profile//dashboard.php';
}
否则{
回声“假”;
}

如果您希望ajax调用重定向它所源自的页面,那么如果您不让php进行重定向,而是返回一个类似于
{status:301,location:'newUrl'}
的请求的响应,然后让您评估ajax成功与否,而不是让php进行重定向,这可能会更有益。如果是301,请使用window.location.href命令的位置。不,我想从php脚本重定向到新页面,我从php文件中删除了用于评估响应的部分(即ajax调用成功的部分,请忽略我粘贴的代码段中的该部分),但它没有按预期重定向。“而是将php脚本的内容(即我希望重定向到的文件)发送回ajax调用”-是的。重定向的意思是“您所请求的在那里”而不是“我假设您使用的是web浏览器,无论您想对所请求的数据做什么,您都应该导航到一个全新的页面”“好的。当用户登录时,您试图重定向该用户。正确。。你确定重定向url是okayi吗?我会在一两分钟内发布,如果你可以发布整个代码php,我可以尝试进一步帮助你,旁边我使用PDO进行mysql交互,因此如果你在mysqli中发布代码,请记住我可以重新写入PDO。我用PDO工作得更快。谢谢汉克先生。。。。我尝试在一个单独的表单上使用redirect header函数,该表单将数据直接发布到php脚本,效果很好。。。可能,它不起作用的原因是因为我使用ajax发出请求,因为它需要一个响应来完成那篇文章(就像在我的案例中,它发送我的案例,它发送php脚本的内容)…我在文档中创建了一个隐藏的表单字段,并用目标位置所需的文章详细信息填充它(即,这是我想用重定向位置标题函数重定向到的php脚本),并使用javascript在此表单中单击submit按钮,将数据发布到此隐藏表单字段的action属性中指定的位置……这不是一个非常优雅的解决方案,但工作非常完美。。。。。。。。。。