首页 > 代码库 > 解决ajax回调函数无返回值得问题
解决ajax回调函数无返回值得问题
这里以编辑验证角色名为例:
首先,定义一个flag全局变量。
然后,在回调函数resp()中根据判断将flag的值设为true或false。
最后,在调用函数ckrname()中,return flag就Ok了。
代码如下:
1 var xmlhttp; 2 function ckrname() { 3 var rolename = document.getElementById("rolename").value; 4 var oldRoleName = document.getElementById("oldRoleName").value; 5 if (rolename==""||rolename==null||reg.test(rolename)) { 6 document.getElementById("sprname").style.color="red"; 7 document.getElementById("sprname").innerHTML="角色名不能为空"; 8 return false; 9 }else{10 xmlhttp = new XMLHttpRequest();11 //绑定回调函数状态码改变事件12 xmlhttp.onreadystatechange=resp;13 //发送请求准备14 xmlhttp.open("get", "<%=basePath%>RoleServlet?method=neweditrole&roleName="+rolename+"&oldRoleName="+oldRoleName, true);15 xmlhttp.send(null);16 return flag;17 }18 }19 var flag;20 function resp(){21 if(xmlhttp.readyState==4&&xmlhttp.status==200){22 var txt = xmlhttp.responseText;23 if(txt>0){24 //alert("用户名已存在,请重新输入!");25 document.getElementById("sprname").style.color="red";26 document.getElementById("sprname").innerHTML="角色名已存在,请重新输入!";27 flag=false;28 }else{29 document.getElementById("sprname").innerHTML = "√";30 document.getElementById("sprname").style.color = "green";31 flag=true;32 }33 }34 }
解决ajax回调函数无返回值得问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。