window.location.href不适用于AJAX

时间:2016-08-24 19:52:28

标签: javascript php jquery html ajax

出于某种原因,“ window.location.href ”功能对我不起作用,似乎无法找出原因。 这是index.php的代码:

<div class="dropdown-menu">
    <div style="width: 300px;">
        <div class="panel panel-primary">
            <div class="panel-heading">Login</div>
            <div class="panel-heading">
                <label for="email">Email</label>
                <input class="form-control" id="email"  name="email" required />
                <label for="password">Password</label>
                <input type="password" class="form-control" id="password"  name="password" required />
                <p><br/></p>
                <a href="#">Forgotten Password</a><input type="button" class="btn btn-success" name="login" id="login" value="Login">
            </div>
        </div>
        <div class="panel-footer"></div>
    </div>
</div>

这是jQuery fucntion中提到的“action.php”文件中的函数:

<?php
if(isset($_POST["userLogin"])){
    $email = mysqli_real_escape_string($con, $_POST["userEmail"]);
    $password = md5($_POST["userPassword"]);
    $sql = "SELECT * FROM user_info WHERE email = '$email' AND password = '$password'";
    $run_query = mysqli_query($con, $sql);

    if($run_query===false){
        echo mysqli_error($con);
    } else {
        $row = mysqli_fetch_array($run_query);
        $_SESSION["uid"]= $row["user_id"];
        $_SESSION["name"]= $row["first_name"];
        echo "welcome";
    }
}
?>

这是具有AJAX功能的jQuery:

$(document).ready(function(){
    $("#login").click(function(event){
        event.preventDefault();
        var email =  $("#email").val();
        var pass = $("#password").val();

        $.ajax({
            url : "action.php",
            method : "POST",
            data : {userLogin: 1, userEmail:email, userPassword:pass},
            success : function(data){
                if(data == "welcome"){
                    window.location.href = "profile.php";
                }
               /* alert(data);*/
            }
        });
    });
});

备注: 正如您在jQuery函数中看到的那样:“alert(data);”。我想查看它是否工作并将其放在屏幕上而没有“window.location.href”函数,以查看“if”语句是否正确,并且它确实有效。此外,当我直接转到profile.php文件时,我看到用户已登录,这对我来说意味着SQL函数工作正常,只是它不会重定向我(profile.php)页。如果需要任何进一步的代码,我将提供它。感谢您的帮助。

2 个答案:

答案 0 :(得分:-1)

window.location.href需要相对于您的域名的绝对网址或网址(如果它以/开头)。

如果您只想更改当前路径的文件部分,可以使用window.location.assign("profile.php")

答案 1 :(得分:-1)

如果您想在同一个域内重定向

window.location.href = "/profile.php";

如果您想重定向到另一个域

window.location.href = "http://www.antotherdomainname.com/profile.php";