自定义ajax

//去重
String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g, "");};
//ID
I=function(ID){return document.getElementById(ID);};
//name
N=function(name){return document.getElementsByName(name);};
//tag
T=function(tag){return document.getElementsByTagName(tag);};
//class--IE8及之前不支持
//C=function(classname){return document.getElementsByClassName(classname);};


/***-------ajax封装-------***/
/**
 * 
 * ajax XMLHttpRequest对象
 * 
 */
function createXmlHttpRequest(){
	var xmlHttpRequest;
	try {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlHttpRequest=new XMLHttpRequest();
	} catch (e) {
		try {
			xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");	
		} catch (ee) {
			try {
				// code for IE6, IE5
				xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
			} catch (eee) {
				alert("explorer cannot support!");
				return false;
			}
		}
	}
	return xmlHttpRequest;
}
/**
 *   ajax对象
 */
Ajax=function(){
	this.method="POST";
	this.url="";//url 参数是服务器上文件的地址,该文件可以是任何类型的文件
	this.async="true";//true表示异步,false表示同步,不需要 onreadystatechange 函数,把xmlhttp.responseText;代码放到 send()语句后面
	this.param="";//send(string);string--仅用于 POST 请求
	this.resultType="text";//responseText--字符串,responseXML--获得 XML 形式的响应数据
	
};
/**
 * 
 * @param ajax异步请求操作
 * 
 */
function ajaxAsync(ajax){
	if(ajax instanceof Ajax){
		var content=null;
		var param=null;
		var xmlHttpRequest=createXmlHttpRequest();
		xmlHttpRequest.onreadystatechange=function(){
			if (xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200) {
				var type=ajax.resultType;
				if(type=="xml"){
					//---1
					content=xmlHttpRequest.responseXML;
					//---2
//					content=xmlHttpRequest.responseText;
//					var parser = new DOMParser();
//					content = parser.parseFromString(content, 'text/xml');
				}else{
					content=xmlHttpRequest.responseText;
				}
				ajaxCallBack(content);
			}
		};
		xmlHttpRequest.open(ajax.method,ajax.url,ajax.async);
		xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		if(ajax.method=="POST"&&ajax.param!=""){
			param=ajax.param;
		}
		xmlHttpRequest.send(param);
    }
}
/**
 * ajax回调函数--可以覆盖
 * @param content
 */
function ajaxCallBack(content){
	alert(content);
}

相关推荐