Javascript Ajax响应不';I don’我认为它不应该等于

Javascript Ajax响应不';I don’我认为它不应该等于,javascript,php,ajax,Javascript,Php,Ajax,如果响应等于“loggedIn”(响应来自php中针对ajax请求的echo语句),我将尝试调用displayUsers函数。它总是直接跳到else语句,不执行displayUsers()。但是,当我发出警报响应时,它会显示loggedIn 这是我的代码: function ajaxRequest(url, method, data, asynch, responseHandler) { var request = new XMLHttpRequest(); request

如果响应等于“loggedIn”(响应来自php中针对ajax请求的echo语句),我将尝试调用
displayUsers
函数。它总是直接跳到else语句,不执行
displayUsers()
。但是,当我发出警报响应时,它会显示loggedIn

这是我的代码:

   function ajaxRequest(url, method, data, asynch, responseHandler) {
    var request = new XMLHttpRequest();
    request.open(method, url, asynch);

    if (method == "POST") {
        request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    }
    request.onreadystatechange = function() {
        if (request.readyState == 4) {
            if (request.status == 200) {
                responseHandler(request.responseText);
            }
        }
    }

    request.send(data);
}

//loginCheck
    function loginCheck() {
        var username = document.getElementById("usernameLogin").value;
        var password = document.getElementById("passwordLogin").value;
        var data="usernameLoginAttempt="+username+"&passwordLoginAttempt="+password;
        ajaxRequest("../PHP/CODE/login_check.php", "POST", data, true, loginCheckResponse);
    }

    function loginCheckResponse(response) {
    //check response, if it is "loggedIn" then call show users function
    alert(response);
    if (response == "loggedIn") {
        displayUsers();
    } else {
        alert("Login Failed. Please try again.")

    }

}
//响应是从ajex获得的对象。
//您尚未编写如何调用loginCheckResponse()
//类似于loginCheckResponse(响应)的调用
函数loginCheckResponse(响应)
{
//检查响应,如果是“loggedIn”,则调用show users函数
警报(响应);
如果(响应=“loggedIn”){
显示用户();
}否则{
警报(“登录失败,请重试”)
}
}
//响应是从ajex获得的对象。
//您尚未编写如何调用loginCheckResponse()
//类似于loginCheckResponse(响应)的调用
函数loginCheckResponse(响应)
{
//检查响应,如果是“loggedIn”,则调用show users函数
警报(响应);
如果(响应=“loggedIn”){
显示用户();
}否则{
警报(“登录失败,请重试”)
}
}
将我的代码更改为:

    //logged in
function loginCheckResponse(response) {

    if(response.trim()=="loggedIn"){
        displayUsers();
    }
    else{
        alert("Login Failed. Please try again.");
    }

}
它现在起作用了。感谢大家的帮助。

将我的代码更改为:

    //logged in
function loginCheckResponse(response) {

    if(response.trim()=="loggedIn"){
        displayUsers();
    }
    else{
        alert("Login Failed. Please try again.");
    }

}

它现在起作用了。感谢大家的帮助。

显示您的PHP如何返回数据。您确定字符大小写正确吗。请尝试response.toLowerCase()=“loggedin”字符大小写正确。显示PHP如何返回数据。是否确定字符大小写正确。尝试响应。toLowerCase()==“loggedin”字符大小写正确。添加了我调用loginCheckResponse()的方式。您可以从ajax中的success调用此函数并传递此函数中的值,正如我告诉response的那样。loginCheckResponse()正在调用。。。问题在于if语句。response变量等于ajax response request.responsetext。当我提醒响应时,它告诉我request.responsetext等于“loggedIn”,但是它一直跳转到else语句,因此缺少displayUsers();显然,引号不会出现,,,,引号仅用于字符串或字符变量来赋值,,,添加了我调用loginCheckResponse()的方式。您可以在ajax中成功调用此函数并在此函数中传递值,正如我告诉response的那样。loginCheckResponse()正在调用。。。问题在于if语句。response变量等于ajax response request.responsetext。当我提醒响应时,它告诉我request.responsetext等于“loggedIn”,但是它一直跳转到else语句,因此缺少displayUsers();显然,引号不会出现,,,引号仅用于字符串或字符变量,以分配,,,中的值,,,