我試圖調用一個displayUsers
函數,如果響應等於「loggedIn」(響應來自PHP中的echo語句對於ajax請求)。它總是直接跳到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.")
}
}
顯示您的PHP如何返回數據。 – dhidy
你確定字符大小寫是否一致。 嘗試response.toLowerCase()==「已登錄」 –
字符大小寫是否正確。 – user2716814