首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

jquery+ajax异步刷新为何取不到返回的值呢?

2012-02-16 
jquery+ajax异步刷新为何取不到返回的值呢? - Web 开发 / AjaxJScript codefunction chkusername(){var us

jquery+ajax异步刷新为何取不到返回的值呢? - Web 开发 / Ajax

JScript code
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;            }            })/*问题出现在这里结束---------------------*/        }    }


[解决办法]
用同步请求

或者在异步的回调函数处理其它逻辑
[解决办法]
JScript code
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个线程。
[解决办法]
什么情况,学习,学习。。。

热点排行