Javascript Ajax响应不';I don’我认为它不应该等于
如果响应等于“loggedIn”(响应来自php中针对ajax请求的echo语句),我将尝试调用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
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();显然,引号不会出现,,,引号仅用于字符串或字符变量,以分配,,,中的值,,,