jquery+ajax异步刷新为何取不到返回的值呢? - Web 开发 / Ajax
function chkusername(){ var userName = jQuery.trim($("#userName").val()); if(userName == ""){ showFalseClass("#alt_uname","请输入用户名"); return false; }else if(userName.length<4){ showFalseClass("#alt_uname","用户名不能少于四位"); return true; }else{/*问题出现在这里---------------------*/ $.get("for_userreg.php?act=chkuname&uid=" + userName,null,function(response){ if(response=="OK"){ showTrueClass("#alt_uname"); return true; }else{ showFalseClass("#alt_uname","该用户名已经存在"); return false; } })/*问题出现在这里结束---------------------*/ } }
function chkusername(){ var userName = jQuery.trim($("#userName").val()); if(userName == ""){ showFalseClass("#alt_uname","请输入用户名"); return false; }else if(userName.length<4){ showFalseClass("#alt_uname","用户名不能少于四位"); return true; }else{var ok=false;///////* $.get("for_userreg.php?act=chkuname&uid=" + userName,null,function(response){ if(response=="OK"){ showTrueClass("#alt_uname"); return true; }else{ showFalseClass("#alt_uname","该用户名已经存在"); return false; } })*/$.ajax({url:"for_userreg.php?act=chkuname&uid=" + userName,async:false,///////////////////////success:function(data){if(data=="OK"){ showTrueClass("#alt_uname"); ok= true;///////////////// }else{ showFalseClass("#alt_uname","该用户名已经存在"); ///// return false; }}});return ok;///////// } }
[解决办法]
用$.ajax, async:false 这样就是同步处理。
[解决办法]
或者jquery1.5+可以考虑用Deferred Object
http://api.jquery.com/category/deferred-object/
[解决办法]
对,用同步。
[解决办法]
默认就是异步,实质是2个线程。
[解决办法]
什么情况,学习,学习。。。