Ajax里的东西

net.js 代码
 
  1. var net=new Object();  
  2. net.READY_STATE_UNINITIALIZED=0;  
  3. net.READY_STATE_LOADING=1;  
  4. net.READY_STATE_LOADED=2;  
  5. net.READY_STATE_INTERACTIVE=3;  
  6. net.READY_STATE_COMPLETE=4;  
  7. net.ContentLoader=function(url,onload,onerror){  
  8.     this.url=url;  
  9.     this.req=null;  
  10.     this.οnlοad=onload;  
  11.     this.οnerrοr=(onerror) ? onerror : this.defaultError;  
  12.     this.loadXMLDoc(url);  
  13. }  
  14. net.ContentLoader.prototype={  
  15.     loadXMLDoc:function(url){  
  16.         if (window.XMLHttpRequest){  
  17.             this.req=new XMLHttpRequest();  
  18.         } else if (window.ActiveXObject){  
  19.             this.req=new ActiveXObject("Microsoft.XMLHTTP");  
  20.         }  
  21.         if (this.req){  
  22.             try{  
  23.             var loader=this;  
  24.             this.req.onreadystatechange=function(){  
  25.             loader.onReadyState.call(loader);  
  26.             }  
  27.                 this.req.open('GET',url,true);  
  28.                 this.req.send(null);  
  29.                 }catch (err){  
  30.                 this.onerror.call(this);  
  31.             }  
  32.         }  
  33.     },  
  34.     onReadyState:function(){  
  35.         var req=this.req;  
  36.         var ready=req.readyState;  
  37.         if (ready==net.READY_STATE_COMPLETE){  
  38.             var httpStatus=req.status;  
  39.             if (httpStatus==200 || httpStatus==0){  
  40.                 this.onload.call(this);  
  41.             }else{  
  42.                 this.onerror.call(this);  
  43.             }  
  44.         }  
  45.     },  
  46.     defaultError:function(){  
  47.         alert("error fetching data!"  
  48.         +"\n\nreadyState:"+this.req.readyState  
  49.         +"\nstatus: "+this.req.status  
  50.         +"\nheaders: "+this.req.getAllResponseHeaders());  
  51.     }  


test.htm 代码
 
  1. function test(){  
  2.     new net.ContentLoader('mydata.xml',parseMyData);
  3. }  
  4.   
  5. function parseMyData()  
  6. {  
  7.        //因为我已经传了 parseMyData 这个函数给 net 做回调函数,
  8.        //所以在这里可以直接使用 net.js 的资源
  9.        var script=this.req.responseText;
  10.        eval(script);
  11.        //使用eval可以执行ajax返回的javascript代码
  12. }  
  13.   
  14. <input type="button" name="button" value="Button" onclick="javascript:test();">  
  15. <p>  
  16. <div id="myData" style="background-color:#c6d9ef"> </div>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值