简单封装ajax

<ul id="ul"></ul>
	<button  id="btn">更新</button>

 var oul=document.getElementById('ul');
      var obtn=document.getElementById('btn');
      obtn.οnclick=function(){
      	var xml=new XMLHttpRequest();
      	xml.open("GET","file.txt",true);
      	xml.send();
      	xml.onreadystatechange=function(){
      		if(xml.readyState==4 && xml.status==200){
      			var data=JSON.parse(xml.responseText);
			//ajax回调回来的responseText只是字符串类型,用JSON.parse把他解析成对象
			//他是一个数组,需要把数组里每一项取出来放到标签li里面,所以需要一个for循环
      			var html="";//作为字符串拼接用的
      			for(var i=0;i<data.length;i++){
      				html+='<li>'+data[i]+'</li>'
      			}
      			oul.innerHTML+=html;//把所用的拼接完成之后再拼接到最大的ul 上面去
      		}
      	}
      }

以上是一个简单ajax异步实例,下面我们一步步进行简单封装,让初学者理解封装步骤。

如果一个网站用到很多ajax异步,那按照上面的写法得写死,所以我们需要封装,精简代码

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="ajax.js"></script>
</head>
<body>
	<ul id="ul"></ul>
	<button  id="btn">更新</button>
	<script>
		var oul=document.getElementById('ul');
		var obtn=document.getElementById('btn');
		obtn.οnclick=function(){
		ajax("GET","file.txt",true,function(data){
			var html="";
			for(var i=0;i<data.length;i++){
				html+='<li>'+data[i]+'</li>'
			};
			oul.innerHTML+=html;
		});			
		}
	
	</script>
</body>
</html>

另起一个js文件,把ajax.js 文件引入当前页面

以下是ajax.js代码


function ajax(method,url,async,success){
	var xml = "";
	xml=new XMLHttpRequest();
	xml.open(method,url,async);
	xml.send();
	xml.onreadystatechange=function(){
	if(xml.readyState==4 && xml.status==200){
		var data=JSON.parse(xml.responseText);//string转换成代码,
		success && success(data);
		
	}
}
}

如果有很多ajax异步,就可重复调用ajax.js文件,减少代码重复,这只是初步封装,还会有更精简的封装,今天先写到这里,明天讲解会更深入,

没有注释,多多见谅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值