Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript window.location.href don';我不能使用AJAX_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript window.location.href don';我不能使用AJAX

Javascript window.location.href don';我不能使用AJAX,javascript,php,jquery,html,ajax,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="pan

出于某种原因,“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>
<?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";
    }
}
?>
$(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函数中所看到的,有这样一个:“警报(数据);”。我想看看它是否有效,并将其放在屏幕上,而不使用“window.location.href”函数,以查看“if”语句是否正确,是否有效。此外,当我直接转到profile.php文件时,我看到用户已登录,这意味着SQL函数工作正常,只是它不会将我重新指向该(profile.php)页面。

window.location.href
需要一个绝对url或相对于您的域的url(如果它以
/
开头)


如果只想更改当前路径的文件部分,如果要在同一域内重定向,可以使用
window.location.assign(“profile.php”)

window.location.href = "/profile.php";
如果你想重定向到另一个域

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

@夏洛特德诺不,你没有。如果您现在执行
window.location.href=“/subdir”
,您将被带到
http://stackoverflow.com/subdir
我认为他缺少正斜杠是导致错误的原因。您未能测试if语句是否有效。在来到这里并发布题为“window.location.href不起作用”的问题之前,您应该将该行直接粘贴到您的控制台中,从而证明它确实在工作。然后回到绘图板,找出什么实际不起作用。最有可能的是
if(data==“welcome”)
为false,因为您(可能)无意中在php文件中打印了一些空白。在检查==“welcome”(欢迎)之前尝试修剪ajax结果:
if($.trim(data)==“welcome”)
这不是只有在发送到其他主机时才需要的吗?不,不需要绝对路径。您确实需要一个相对的起始
/
,但仅此而已。这取决于。当我在
www.example.com/foo/bar
上并使用
window.location.href=“/baz”
时,我将被重定向到
www.example.com/baz
。如果我想进入
www.example.com/foo/bar
,我会使用
window.location.href=“/foo/baz
window.location.assign(“baz”)
是的,它是相对于域名的。不。你不需要完整的URL。我们可以停止吗?是的,对不起,如果你在你的域内重定向,则不必放置完整的URL。但是如果你重定向到另一个域(网站)然后必须输入完整的url。我说得对吗?@BiswajitPanday说得对,但这里显然不是这样。