我不知道我是否用自己的圖塊讓自己清楚,我認爲它很混亂,但讓我解釋一下。 所以我有一個js代碼:使用javascript從主函數內部返回一個子函數的值
function validateUserLogin() {
'use strict';
var xmlhttp, url = '../controller.php?action=validatelogin',
email = document.getElementById('email').value,
password = document.getElementById('password').value;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
} else {
alert('Your browser does not support XMLHTTP!');
}
xmlhttp.open('POST', url, true);
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlhttp.send('email=' + email + '&password=' + password);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
if (xmlhttp.responseText === 'Error1') {
$('#email').css('border', '1px solid red');
//A value to return
}
if (xmlhttp.responseText === 'Error2') {
$('#email').css('border', '1px solid green');
$('#password').css('border', '1px solid red');
//A value to return
}
}
};
//I want it here
}
在上面的代碼我有,當他嘗試登錄發送Ajax請求驗證用戶的功能。在服務器端腳本中,當電子郵件或密碼不正確時,我會回顯一條消息,並將輸入的邊框顏色更改爲綠色或紅色。到現在爲止還挺好。我想要的只是將2個ifs中的變量從子函數中返回給validateUserLogin,然後向登錄表單返回true或false。這甚至有可能嗎?
您可以使用第二個參數的。開以獲得同步調用:'XMLHTTP。打開('POST',url,false);' – Zenoo
仍未定義 –
我混淆了.open和.send函數。嘗試使用.open()函數設置false。 – Zenoo