手写ajax

  1. function ajax(){  

  2.     var xmlhttp;  

  3.     if(window.XMLHttpRequest){  

  4.         xmlhttp = new XMLHttpRequest();  

  5.     }else{  

  6.         // code for IE6, IE5  

  7.         xmlhttp = ActionXObject("Microsoft.XMLHTTP");  

  8.     }  

  9.       

  10.     //判定执行状态  

  11.     xmlhttp.onreadystatechange = function(){  

  12.         /* 

  13.         readyState 

  14.             0: 请求未初始化 

  15.             1: 服务器连接已建立 

  16.             2: 请求已接收 

  17.             3: 请求处理中 

  18.             4: 请求已完成,且响应已就绪 

  19.         status 

  20.             200:请求成功 

  21.             404:未找到 

  22.             500:服务器内部错误 

  23.         */  

  24.         if (xmlhttp.readyState==4 && xmlhttp.status==200){  

  25.             document.getElementById("myDiv").innerHTML=xmlhttp.responseText;//获得字符串形式的响应数据,如果返回的是XML需要单独解析  

  26.             //responseXML       获得 XML 形式的响应数据  

  27.             var xmlDoc = xmlhttp.responseXML;  

  28.             var txt = "";  

  29.             var num = xmlDoc.getElementsByName("value");//获取节点name=value的值  

  30.             for(var i=0;i<num.length;i++){  

  31.                 txt = txt+num[i].childNodes[0].nodeValue+"<br />";  

  32.             }  

  33.             document.getElementById("myDiv2").innerHTML = txt;  

  34.         }  

  35.     }  

  36.       

  37.     //@param 最后一个参数表示是否是异步提交,为了避免使用缓存我们加上一个时间戳  

  38.     xmlhttp.open("Get","url"+  

  39.         (function(){  

  40.             var date = new Date();  

  41.             return date.getSeconds();     

  42.         })  

  43.     ,true);  

  44.       

  45.     //设置头信息  

  46.     xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");  

  47.       

  48.     //将信息发送到服务器  

  49.     xmlhttp.send();   

  50.       



你可能感兴趣的:(Ajax,function,服务器,status)