我不知道我是否用自己的图块让自己清楚,我认为它很混乱,但让我解释一下。 所以我有一个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