AJAX 详解注释很全来自互联网

1: //用户名校验的方法 2: //这个方法使用XMLHTTPRequest对象进行AJAX的异步数据交互 3: var xmlhttp; 4: function verify(){ 5: //1.使用dom的方式获取文本框中的值 6: //document.getElementBuId("userName")是dom中获取元素节点的一种方法,一个元素节点对应HTML页面中的一个标签,如果 7: //.value可以获取一个元素节点的value属性值 8: var userName = document.getElementById("userName").value; 9:   10: //2.创建XMLHttpRequest对象 11: //这是XMLHttpRequest兑现使用中最为复杂的一步 12: //需要这对IE和其他类型浏览器建立这个对象的不方式写不同的代码 13: if(window.XMLHttpRequest){ 14: //针对FireFox,Mozillar,opera,safari,IE7,IE8 15: xmlhttp = new XMLHttpRequest(); 16: //针对某些特定版本的mozillar浏览器的bug修正 17: if(xmlhttp.overrideMimeType){ 18: xmlhttp.overrideMimeType("text/xml") 19: } 20: }else if(window.ActiveXObject){ 21: //针对IE5,IE5.5,IE6(IE7,IE8) 22: //两个可以用于创建XMLHTTPRequest对象的控件名称,保存在一个js数组中 23: //排在前面的版本较新 24: var activexName =["MSXML2.XMLHTTP","Microsoft.XMLHTTP"]; 25: for(var i=0;i<activexName.length;i++){ 26: try{ 27: //取出一个控件名进行创建,如果创建成功就终止循环 28: //如果创建失败,抛出异常,然后继续循环,继续尝试创建 29: xmlhttp = new ActiveXObject(activexName[i]); 30: break; 31: } catch(e){ 32: } 33: } 34: } 35:   36: // 确认XMLHttpRequest对象创建成功 37: // if(!xmlhttp){ 38: // alert("XMLHttpRequest对象创建失败!"); 39: // return; 40: // }else{ 41: // //alert(xmlhttp); 42: // alert(xmlhttp.readyState); 43: // } 44:   45: //2 注册回调函数 46: //注册回调函数时只需要函数名不要加括号 47: //我们需要注册的是函数名称,如果加上括号,就把函数的返回值给注册上了,这是错误的 48: xmlhttp.onreadystatechange = callback; 49:   50: //3设置连接信息 51: //第一个参数表示http的请求方式。支持所有http的请求方式。主要使用get和post 52: //第二个参数表示请求的url地址,get方式的参数也在url中 53: //第三个参数表示采用异步还是同步方式交互,true表示异步 54: //GET方式请求的代码 55: //xmlhttp.open("GET","AJAXServer?name="+userName,true); 56:   57: //POST方式请求的代码 58: xmlhttp.open("POST","AJAXServer",true); 59: //POST方式需要自己设置http的请求头 60: xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 61: //POST方式发送数据 62: xmlhttp.send("name="+userName); 63: 64: //4 发送数据,开始和服务器端进行交互 65: //同步方式下,send这句话会在服务器设置回来后才执行完 66: //异步方式,send这句话执行晚会立即完成 67: 68: //GET方式 69: //xmlhttp.send(null); 70: } 71:   72: //回调函数 73: function callback(){ 74: // alert(xmlhttp.readyState); 75: //5接收响应数据 76: //判断对象的状态是交互完成 77: if(xmlhttp.readyState==4){ 78: //判断http的交互是否成功、 79: if(xmlhttp.status==200){ 80: //获取服务器端返回的数据 81: //获取服务器端输出的纯文本数据 82: var responseText = xmlhttp.responseText; 83: //将数据显示在页面上 84: //通过dom方式找到div标签所对应的元素节点 85: var divNode = document.getElementById("result"); 86: //设置元素节点中的html内容 87: divNode.innerHTML=responseText; 88: }else 89:   90: { 91: alert("出错了"); 92: } 93: } 94: }


/ Ajax
评论

© 斯通摇滚吧! | Powered by LOFTER