Ajax无法给函数返回值
function checkUserName(){
var username = document.getElementById('username');
var errname = document.getElementById('nameErr');
var pattern = /^\w{3,}$/;
if(username.value.length == 0){
errname.innerHTML="用户名不能为空";
errname.className="error";
return false;
}
if(!pattern.test(username.value)){
errname.innerHTML="用户名不符合规范";
errname.className="error"
return false;
}
var xmlhttp;
var result;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
if(xmlhttp.responseText == 11111){
errname.innerHTML="恭喜,用户名可用";
errname.className="success";
return true;
}else if(xmlhttp.responseText == 22222){
errname.innerHTML="用户名已存在";
errname.className="error";
return false;
}
}
}
xmlhttp.open("GET","/index/index/select?name="+username.value ,true);
xmlhttp.send();
}
这是我写的用来验证用户名是否为空、是否符合要求、是否在数据库中已经存在这个用户的一个方法,但是最下面用ajax返回true或者false时返回的checkUserName竟然是undefined,求解,这个问题应该怎么解决啊