php脚本中的重定向标头功能不起作用

时间:2018-10-19 22:15:30

标签: 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=="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 =”“重定向到另一个页面,因为当我使用它时它可以很好地工作,但是我希望看到这个头文件方法来重定向工作(即使用头文件功能)我也想知道为什么Google不建议使用“ window.location”进行重定向,以及使用此方法的不利之处(例如,使用window.location进行重定向)。谢谢youuu:)

1 个答案:

答案 0 :(得分:0)

为什么要创建用于重定向的功能。...仍然可以按照以下代码从php使用window.location

echo "<script>window.location='..//profile//dashboard.php'</script>";

请确保网址正确无误,否则请使用完整的网址链接路径来测试例如。 http://localhost/profile//dashboard.php

简而言之,试试这个

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

 echo "<script>window.location='..//profile//dashboard.php'</script>";
}
else{
echo 'false';
}