javascript 用ajax做用户名重复性验证的有关问题
javascript 用ajax做用户名重复性验证的问题
输入可用的用户名后responseText为"ok!", check_username显示“测试ok!”,也就是说if语句中的内容是正常执行了的;
但是我在同一个javascript的其他方法中调用这个方法的返回值就只有一个"测试":
显示出来check_info为“|测试|”
我需要用rs的值做判断用,试了很多种方法了都不行,求大神解决
注:
尝试1.如果把return语句放if里面的话没有返回值
尝试2.如果把response定义到方法外面做全局变量,在其他方法中先调用validate(username)方法,然后把response显示出来结果是undefinded
尝试3.如果调用validate(username)后直接拿check_username做判断没有结果
------解决思路----------------------
xmlhttp.open("GET",url,false);
function validate(username) {//注册时查询用户名是否已经在数据库中存在了
var xmlhttp;
var response="测试";
var url = "Validate.jsp?username="+escape(username);
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
response = response + xmlhttp.responseText;
check_username.innerHTML = response;
}
}
xmlhttp.send(null);
return response; //if语句中response是有值的,但从这里返回的就只有"测试"
}
输入可用的用户名后responseText为"ok!", check_username显示“测试ok!”,也就是说if语句中的内容是正常执行了的;
但是我在同一个javascript的其他方法中调用这个方法的返回值就只有一个"测试":
var rs = validate(username);
check_info.innerHTML="|"+rs+"|";
显示出来check_info为“|测试|”
我需要用rs的值做判断用,试了很多种方法了都不行,求大神解决
注:
尝试1.如果把return语句放if里面的话没有返回值
尝试2.如果把response定义到方法外面做全局变量,在其他方法中先调用validate(username)方法,然后把response显示出来结果是undefinded
尝试3.如果调用validate(username)后直接拿check_username做判断没有结果
------解决思路----------------------
xmlhttp.open("GET",url,false);