⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cls_xmlhttprequest.js

📁 利用ajax编写的一个漂亮的个人简历
💻 JS
字号:
/**********************************************
 * @author		skyz
 * @function	javascript client ajax dealwith
 * @datetime	2006-3-20
 **********************************************	
 * Function: Create a httpRequest object
 **********************************************/ 
function HttpRequest(){
	this._httpRequest=null;									//HttpRequest request object
	this._callBack=null;									//Call back function
	this._domResult=true;									//Result if dom object or text string
	this._requestData=null;									//Request data
	this._requestResult=null;								//HttpRequest result
	this._stateString=null;									//Current request state string
	this._error=false;										//Current if have error
	this._callBackPara=null;								//Current callback function parama
	//internal method for get HttpRequestObject
	this.init=function(){
		//Judge if Not IE
		if(window.XMLHttpRequest){
			this._httpRequest=new XMLHttpRequest();
			//Set request mime is text/xml
			if(this._httpRequest.overrideMimeType){
				this._httpRequest.overrideMimeType('text/xml');
			}
		}else if(window.ActiveXObject){
			try{
				this._httpRequest=new ActiveXObject("Msxml2.XMLHTTP");
			}catch(ex){
				try{
					this._httpRequest=new ActiveXObject("Microsoft.XMLHTTP");
				}catch(ex){
					this._setMessage(ex,true);
					return;
				}
			}
				// this._httpRequest.setrequestheader("Content-Type","text/xml;charset=gb2312");
		}
		//Judge HttpRequest object create successful
		if(!this._httpRequest){
			this._setMessage("XMLHttpRequest 对象创建失败!请重试......",true);
			return;
		}	
	}
	/*	
	 * Function: Set the request header
	 * namePar:request's header name
	 * valuePar:request's header value
	 */
	this.doSetRequestHeader=function(namePar,valuePar){
		if(this._error){
			return;
		}
		this._httpRequest.setRequestHeader(namePar,valuePar);
	}
	/*	
	 * Function: Set the request data
	 * dataPar:request's send data;
	 */
	this.doSetRequestData=function(dataPar){
		if(this._error){
			return;
		}
		this._requestData=dataPar;
	}
	/*
	 *Function get RequestHttp Object
	*/
	this._getRequestObj=function(){
		if(this._error){
			return;
		}
		return this._httpRequest;
	}
	/*
	 * Function:Set Callback function para
	 */
	this.doSetCallBack=function(callBack,paraData){
		this._callBack=(callBack)?callBack:null;
		this._callBackPara=(paraData)?paraData:null;
	};
	/*
	 * Function: Get current stateString
	 */
	this.doGetState=function(){
		return this._stateString;
	 }
	 /*
	 * Function: get current Error 
	 */
	this.doGetError=function(){
		return this._error;
	 }
	 /*
	  *
 	  */
    this.doCallBack=function(){
		this._callBack(this._requestResult,this._callBackPara);
	}

	/*	
	 * Function: Send the request
	 * urlPar: request's url path
	 * [methodPar]:request's method
	 * [domPar]: request's result is dom or string
	 */
	this.doSendResuest=function(urlPar,methodPar,obj,domPar,asyPar){
		if(obj._error){
			return;
		}
		methodPar=((methodPar)?methodPar:"GET");
		asyPar=((asyPar)?asyPar:true);
		this._domResult=(domPar)?domPar:obj._domResult;
		try{
				var a=this._getRequestObj();
				a.onreadystatechange=function(){
					if(obj._error){
						return;
					}
					var readyStateTmp=a.readyState;
					if(readyStateTmp==0){
						obj._setMessage("未初始化!");
					}else if(readyStateTmp==1){
						obj._setMessage("正在读取中......");
					}else if(readyStateTmp==2){
						obj._setMessage("已经读取过!");
					}else if(readyStateTmp==3){
						obj._setMessage("正在逐个切换......");
					}else if(readyStateTmp==4){
						var statusTmp=a.status;
						if(statusTmp==404){
							obj._setMessage("未找到请求页面!",true);
						}else if(window.location.href.indexOf("http")==-1 || statusTmp==200){
							obj._setMessage("完成!");	
							if(this._domResult && window.XMLHttpRequest){
								obj._requestResult=a.responseXml;
							}else{
								obj._requestResult=a.responseText;
							}
							if(obj._callBack){
								obj.doCallBack();
							}
						}else{
							obj._setMessage("未知错误!");
						}
					}else{
						obj._setMessage("未知错误!");
					}	
				}
			a.open(methodPar,urlPar,asyPar);
			// a.setRequestHeader("If-Modified-Since","0");
			a.send(obj._requestData);
		}catch(ex){
			obj._setMessage(ex,true);
		}
	}
	/*
	 * Function: Deal exception error 
	 * exPar:error string
	 */
	this._setMessage=function(exPar,mark){
		this._stateString=exPar.toString();
		this._error=(mark)?mark:false;
	 }
 }	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -