自定义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);
}



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值