AJAX常用代码的封装

可以直接把以下代码放在一个外部js文件当中,以便使用。
var xmlRequest;
function createXMLRequest() {
	//判断是否是IE如果是就创建IE对应的XMLHttpRequest对象
	if (window.ActiveXObject) {
		try {
			xmlRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
		}
	} else if (window.XMLHttpRequest) {//判断是否是DOM浏览器如果是就创建对应的XMLHttpRequest对象
		if(xmlRequest){
			return;
		}
		xmlRequest = new XMLHttpRequest();
	}
	return xmlRequest;
}
function responseDatas(method, url, param, func) {
//先得到XMLHttpRequest对象
	createXMLRequest();
//onreadystatechange,这个事件实在状态发生了改变的时候调用
	xmlRequest.onreadystatechange = function() {
//如果readyState为4说明请求的状态是已经完成
		if (xmlRequest.readyState == 4) {
//当请求的状态完成了还需要知道结果是否正确,当status等于200的时候表示结果正确
			if (xmlRequest.status == 200) {
//得到服务器传送过来的值,以文本的格式返回
				var text = xmlRequest.responseText;
				func(text);
			}
		}
	}
//该方法指定请求的HTTP方式(POST/GET),请求的URL和通讯模式(同步还是异步true为异步)
	xmlRequest.open(method, url, true);
//设置请求头
	xmlRequest.setRequestHeader("cache-control", "no-cache");
//如果是POST提交方式,请求头还需设置以下请求头信息
	if (method == "POST") {
		xmlRequest.setRequestHeader("Content-Type",
				"application/x-www-form-urlencoded");
	}
//到了最关键的一步,发送请求,如果是GET提交方式括号中直接填写“null”,如果是POST提交,则需要把参数跟在括号中。GET提交方式的参数跟在上面open方法的URL后面。
	xmlRequest.send(param);
}

你可能感兴趣的:(JavaScript,Ajax,cache,浏览器,IE)