jquery ajax接收不到返回值 很奇怪!
- JScript code
//验证是否已存在该用户名function ExistsUserName(UserName){ $.ajax({ type:"GET", url:"Ajax/ajax.ashx", async:false, data:"UserName=" + UserName, success:function (data) { alert(data); return data; } })}//验证注册用户名function ValidateName(txt_UserNameID,ValidateInfoID){ //获取要验证的用户名 var strtext=$("#" + txt_UserNameID).val(); if(strtext=="") { $("#" + ValidateInfoID).html('<span class="error">不能为空!</span>'); return false; } else if(! /^\w+$/.test(strtext)) { $("#" + ValidateInfoID).html('<span class="error">不能包含特殊字符!</span>'); return false; } else if( /^\d.*$/.test(strtext)) { $("#" + ValidateInfoID).html('<span class="error">不能以数字开头!</span>'); return false; } else if(strtext.length<6 || strtext.length>18) { $("#" + ValidateInfoID).html('<span class="error">长度在6-18位之间!</span>'); return false; } else { [color=#FF0000]var flag = ExistsUserName(strtext);[/color] alert("返回值" +flag); if(flag=="True") { $("#" + ValidateInfoID).html('<span class="error">此用户名已存在!</span>'); return false; } else { $("#" + ValidateInfoID).html('<img src="Images/ok.gif" />'); return true; } }}输入一个已注册的用户名后,会先弹出True,然后弹出undefinde,显然没有接收到返回值,为什么呢,我也同步了呀?
[解决办法]
应该在ajax外面返回data吧。
[解决办法]
var flag=“”;
。。。。。。。
。。。。。。
success:function (data)
{
flag=data;
}
。。。。。。
alert("哎哟卧槽:flag="+flag);