yeahfeng 发表于 2013-1-29 10:30:20

Ajax异步调用函数,同步调用函数举例

var xmlhttp;//ajax 异步调用function loadXMLDocAsyn(url, cfunc) {if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safarixmlhttp = new XMLHttpRequest();} else {// code for IE6, IE5xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.onreadystatechange = cfunc;xmlhttp.open("GET", url, true);xmlhttp.send();}//ajax 同步调用function loadXMLDocSyn(url) {if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safarixmlhttp = new XMLHttpRequest();} else {// code for IE6, IE5xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.open("GET", url, false);xmlhttp.send();return xmlhttp.status;} //检查用户名是否合法,包括客户端检查和服务端ajax调用function checkName(){var username = document.getElementById("username").value;document.getElementById("tip").innerHTML = " ";if(username.length==0){//用户名格式检查document.getElementById("tip").innerHTML = "<font color='#FF0000'>用户名不能为空</font>";document.getElementById("username").focus();document.getElementById("flag").value = "false";}else{//调用ajax检查用户名是否重复loadXMLDocAsyn("action/checkNameAction.php?username="+username, getResult);//**************************************************************///以下是同步调用实现方式//var status = loadXMLDocSyn("action/checkNameAction.php?username="+username);//if(status==200){//if(xmlhttp.responseText.length!=0){//document.getElementById("tip").innerHTML = "<font color='#FF0000'>用户名已被占用</font>";//document.getElementById("username").focus();//document.getElementById("flag").value = "false";//}else{//document.getElementById("flag").value = "true";//}//}//******************************************************************/}}//用户名查重checkName()中ajax的回调函数function getResult() {if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {if(xmlhttp.responseText.length!=0){document.getElementById("tip").innerHTML = "<font color='#FF0000'>用户名已被占用</font>";document.getElementById("username").focus();document.getElementById("flag").value = "false";}else{document.getElementById("flag").value = "true";}}}
页: [1]
查看完整版本: Ajax异步调用函数,同步调用函数举例