原生javascript包装一个ajax方法

 

 

调用AJAX

 1 <script type="text/javascript" src="ajax.js"></script>
 2 <script type="text/javascript">
 3     //调用包装好的ajax方法
 4     ajax({
 5         method : "get",
 6         url : "get.php",
 7         asyn : true,
 8         data : "user=zym&password=1234",
 9         fn : function( res ){
10             console.log( res );
11         }
12     });
13 </script>

 

 

打包好的ajax方法函数:

 1 function ajax( myJson ){
 2     //新建ajax对象
 3     var xhr = null;
 4     window.XMLHttpRequest?(xhr=new XMLHttpRequest()):(xhr=new ActiveXObject("Microsoft.XMLHTTP"));
 5     //定义数据传输方法“get”或“post”,如果没有写,那么默认的是用“get”方法!
 6     var method = myJson.method||"get";
 7     //定义数据传输的地址!
 8     var url = myJson.url;
 9     //定义数据加载方式(同步或异步),默认的情况下,使用ajax,都是异步加载!
10     var asyn = myJson.asyn||true;
11     //定义传输的具体数据!
12     var data = myJson.data;
13     //成功之后执行的方法!
14     var fn = myJson.fn;
15     //第一种情况:如果是用get方法,并且data是存在的,就执行:
16     if(method=="get"&&data){
17         xhr.open(method,url+"?"+data+"&"+Math.random(),asyn);
18     }
19     //第二种情况:如果是用post方法,并且data是存在的,就执行:
20     if(method=="post"&&data){
21         xhr.open(method,url,asyn);
22         xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
23         xhr.send(data);
24     }else{
25         xhr.send();
26     }
27     //数据传输成功之后
28     xhr.onreadystatechange=function(){
29         if(xhr.readyState==4){
30             if(xhr.status>=200&&xhr.status<300){
31                 fn(xhr.responseText);
32             }else{
33                 alert("程序出错!");
34             }
35         }
36     }
37 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值