Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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 Ajax在visual studio for windows中不工作(混合)_Javascript_Php_Ajax_Visual Studio 2013_Blend - Fatal编程技术网

Javascript Ajax在visual studio for windows中不工作(混合)

Javascript Ajax在visual studio for windows中不工作(混合),javascript,php,ajax,visual-studio-2013,blend,Javascript,Php,Ajax,Visual Studio 2013,Blend,我正在使用ajax登录用户,但该脚本不起作用。当我调用login函数执行任何操作时 function login() { var login = new XMLHttpRequest; var e = document.getElementById("email").value; var p = document.getElementById("password").value;

我正在使用ajax登录用户,但该脚本不起作用。当我调用login函数执行任何操作时

function login() {
            var login = new XMLHttpRequest;
            var e = document.getElementById("email").value;
            var p = document.getElementById("password").value;                  
            var vars = "email=" + e + "&password=" + p;
            login.open("POST", "http://example.com/app/login.php", true);
            login.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            login.onreadystatechange = function(){
                if (login.readyState == 4 && login.status == "200") {
                    var response = login.responseText;
                    //document.getElementById("status").innerHTML = response;
                }
                document.getElementById("status").innerHTML = "Loggin in....";
                login.send(vars);
                if (response == "Sucess") {
                    window.location.replace("/logged.html");
                }
                else {
                    document.getElementById("status").innerHTML == "Login Failed";                    
                }
            }
        }
login.php包含以下代码

require_once('../db_/connection.php');//Holds connection to database
$email = mysqli_real_escape_string($con, $_POST['email']);//Sanitizing email
$pass = md5($_POST['password']);//Hashing password

$sql = "SELECT id FROM users WHERE email='$email' AND password='$pass' LIMIT 1";
$query = mysqli_query($con, $sql);
$check = mysqli_num_rows($query);

if($check < 1){
    echo "fail";
    //mysqli_close($con);
    exit();
}
else{
    echo "Sucess";
    //mysqli_close($con);
    exit();
}
调用登录函数不会执行代码

第2行:新XMLHttpRequest之后缺少括号 第15行:if response==Sucess{…}拼写错误,在返回ajax请求之前执行,因为它是异步的 我在JSFIDLE为您制作了一个工作版本:


您可能会发现MDN引用的帮助信息:

您是否尝试过调试它?结果如何?我使用get方法而不是post方法调试php,脚本运行良好。。问题在于ajax。。我发现我写的是login.status=200而不是login.status=200我修复了这个问题,但仍然不起作用我用firebug调试过。。但是控制台是空的。我所做的是在发送vars login.sendvars之后;我执行了一个名为execute的函数,并将条件像这样放入该函数中。login.sendvars;execute}}函数execute{if response==suces{window.location.replaceAuto.php;}否则{document.getElementByIdstatus.innerHTML=Login失败;}但它仍然不起作用。添加执行函数是个好主意。通过检查login.status,现在可以省去对login.responseText的检查。顺便说一句,如果response==suces是*拼写错误。我为您添加了完整的解决方案,我使用firebug进行了调试。。但是控制台是空的。Thanx您的脚本正在工作。。但我不知道为什么我的不工作,即使控制台是空的。。