Ajax封装技术

Ajax封装技术

/**
 * 
 * @param method  表示提交的方式
 * @param url	表示提交的地址
 * @param params	表示提交的参数   key=val&key1=val1&.....
 * @param handler200 处理成功
 * @param handler404	处理资源未找到
 * @param handler500	处理服务器错误
 * @param loading	加载效果
 * 
 * ajaxutil("get","ajax?age=12","username=lisi&password=123123")
 * 
 * 
 * 
 */

function ajaxutil(method,url,params,handler200,handler404,handler500,loading){
	
	method = method || "get";
	url = url || "";
	
	//创建一个请求对象
	var request;
	//为了处理浏览器的差异性问题
	//第一个更通用  判断window对象中是否含有 XMLHttpRequest对象   如果有  则直接new出来使用
	//如果没有  则表示是ie浏览器  要采用特殊的方式进行创建
	if(window.XMLHttpRequest){
		//创建对象
		request = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		request = new ActiveXObject("Msxml2.XMLHTTP");
	}
	
	//监听
	request.onreadystatechange  =function(){
		if(request.readyState == 4){
			//处理成功请求
			if(request.status == 200){
				if(typeof handler200 == 'function'){
					handler200(request.responseText);
				}
			}else if(request.status == 404){
				if(typeof handler404 == 'function'){
					handler404();
				}
			}
			else if(request.status == 500){
				if(typeof handler500 == 'function'){
					handler500(request.responseText);
				}
			}
		}else{
			if(typeof loading == 'function'){
				loading();
			}
		}
	};
	
	//get方式提交
	if(method.toLowerCase() == "get"){
		
		//先判断参数有没有  如果有  才处理地址    如果没有  不管
		if(params){
			url = url+((url.indexOf('?')==-1)?"?":"&")+params;
		}
		request.open(method, url);
		request.send(null);
	}else if(method.toLowerCase() == "post"){
		request.open(method, url);
		//设置编码方式
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		request.send(params||null);
		
	}
	
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值