简单封装原生的ajax

1、定义myajax对象 

window.myAjax=function(opt){
	opt = opt || {};
	var url = opt.url || '';
	var type = opt.type || 'get';
	var data = opt.data || null;
	var dataType = opt.dataType || '';
	var success = opt.success;
	var error = opt.error;
	var xhr;
	
	if (XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	}else {
		xhr = new ActiveXObject('Microsoft.XMLHTTP');
	}
	
	xhr.onreadystatechange=function(){
		if(xhr.readyState === 4){
			if(xhr.status === 200){
				var result = xhr.responseText;
				if(dataType === 'json'){
					try{
						result = JSON.parse(result);
					}catch(err){
						console.error(err);
						error(xhr, xhr.statusText, err);
						return;
					}
				}
				success(result);
			}else{
				error(xhr, xhr.statusText);
			}
		}
	}
	xhr.open(type, url, true);
	xhr.send(data);
	
}

2、使用myajax

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="javascript:testMyAjax();">测试myAjax</a>
</body>
<script type="text/javascript" src="myajax.js"></script>
<script type="text/javascript">
function testMyAjax(){
	myAjax({
		url: location.path + 'alarmAction/testJson',
		type: 'get',
		dataType: 'text',
		success: function(data){
			console.log(data);
			alert(data);
		},
		error: function(xhr,statusText){
			console.log(xhr);
			console.log(statusText);
			alert(xhr);
		}
	});
}
</script>
</html>

3、效果图

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值