无法使用从PHP到Javascript的头重定向

无法使用从PHP到Javascript的头重定向,javascript,php,html,redirect,header,Javascript,Php,Html,Redirect,Header,我正在尝试将我的PHP文件重定向到HTML文件 我的网站是这样构建的: HTML==>js单独文件使用角度===>PHP文件 然后php调用header函数,但它不会重定向,而是打印我试图打开的HTML页面的代码 在调用header函数之前,我没有重复任何内容,尽管我在PHP文件的开头使用了一个header来进行访问控制 我还尝试用想要的URL回显meta http equiv标记,但它只是打印了标记 可能是因为我使用了不同的php、js和HTML文件 谢谢 以下是我的PHP代码: header

我正在尝试将我的PHP文件重定向到HTML文件

我的网站是这样构建的:

HTML==>js单独文件使用角度===>PHP文件

然后php调用header函数,但它不会重定向,而是打印我试图打开的HTML页面的代码

在调用header函数之前,我没有重复任何内容,尽管我在PHP文件的开头使用了一个header来进行访问控制

我还尝试用想要的URL回显meta http equiv标记,但它只是打印了标记

可能是因为我使用了不同的php、js和HTML文件

谢谢

以下是我的PHP代码:

header("Access-Control-Allow-Origin: *");
//header("Content-Type: application/json; charset=UTF-8");
$servername = "localhost";
$username = "root";
$password = '';

// Create connection
$conn = mysqli_connect($servername, $username, $password, "myDB");
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
$client_data = file_get_contents("php://input");
$json = json_decode($client_data);
$sql = "SELECT Password FROM users WHERE Name=\"". $json->username ."\"";
$result = $conn->query($sql);
if ($result->num_rows >0) {
    while ($row = $result->fetch_assoc()) {
        if (password_verify($json->password ,$row["Password"])) {
            header ('location: http://localhost/KickStartProject/views/register.html');
        } else {
            echo "Password didn't match.....";
        }
    }
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

mysqli_close($conn);

正如@chris85在他的评论中指出的,ajax请求不会影响当前文档的位置。您应该像这样进行重定向:

<?php
header("Access-Control-Allow-Origin: *");
...
if (!$conn) {
    die(json_encode(["status"=>"err", "msg" => "Connection failed: " . mysqli_connect_error()]));
}
...
    if(password_verify ($json->password ,$row["Password"]) ){

        die(json_encode(["status"=>"ok", "redirect" => "/KickStartProject/views/register.html"]));
    }else{
        die(json_encode(["status"=>"err", "msg" => "Password didn't match....."]));
    }
...

HTML页面正在对此页面发出ajax请求?是。使用:$http.post我不认为ajax请求会重定向用户,但在js中不太有效,所以可能会这样?我会尝试返回1或0;1表示有效。如果是1,那么我想使用window.location将用户引导回html页面。答案很棒。谢谢我正在尝试使用$http实现它,而不是使用JQuery。我做完后会回来的,很神奇。我已经找了一段时间了。。。你不知道你帮了多少忙!谢谢!!:
...
$.getJSON('/url-to-php', {...})
 .success(function(response) {
     if (response.status != "ok")
         alert(response.msg);
     else
         document.location.href = response.redirect;
 });
...