js源码封装ajax;

ajax({
	url:'google.aspx',
	type:'POST',
	date:{name:'honely',age:20},
	dateType:'json',
	success:function(response.xml){
		//成功后执行的代码
	},
	fail:function(status){
		//失败后执行的代码
	}
});
function ajax(options){
	options=options||{};
	options.type=(options.type||"GET").toUpperCase();
	options.dateType=options.dateType||'json';
	var params=formatParams(options.date);
//第一步新建数据
	if(window.XMLHttpRequest){
		var xhr=new XMLHttpRequest();
	}else{
		var xhr=new ActiveXObject('Microsoft.XMLHTTP');
	}
//第三部接受数据
	xhr.onreadystatechange=function(){
		if(xhr.readyState==4&&xhr.status==200){
			options.success&&options.success(xhr.responseText,xhr.responseXML);
		}
		else{
			options.fail&&options.fail(xhr.status);
		}
	}
//第二部发送数据
	if(options.type=='GET'){
		xhr.open("GET",options.url+'?'+params,true);
		xhr.send(null);
	}else if(options.type=="POST"){
		xhr.open("POST",options.url+'?'+params,true);
		xhr.setRequestHeader("content-type","aplication/x-www-form-unload");
		xhr.send(params);
	}
}
function formatParams(date){
	var arr=[];
	for( var name in date){
		arr.push(encodeURIComponent(name)+'='+encodeURIComponent(date[name]));
	}
	arr.push(('v='+Math.random()).replace('.',''));
	return arr.join('&');
}

  

原文地址:https://www.cnblogs.com/mk2016/p/5455316.html