ziniulian2
2/16/2016 - 3:27 AM

获取 Ajax 对象的兼容性写法 + Ajax 同步加载文件

获取 Ajax 对象的兼容性写法 + Ajax 同步加载文件

// 获取 Ajax 对象
var getAjax = function () {
	var xmlHttp = null;
	try{
		xmlHttp = new XMLHttpRequest();
	} catch (MSIEx) {
		var activeX = [ "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP" ];
		for (var i=0; i < activeX.length; i++) {
			try {
				xmlHttp = new ActiveXObject( activeX[i] );
			} catch (e) {}
		}
	}
	return xmlHttp;
};


// Ajax 同步加载文件
var loadFileByAjax = function (url){
	var  xmlHttp = getAjax();
	if (!xmlHttp) return null;

	//采用同步加载
	xmlHttp.open("GET", url, false);

	//发送同步请求
	xmlHttp.send(null);

	//4代表数据发送完毕
	if ( xmlHttp.readyState == 4 ) {
		//0为访问的本地,200到300代表访问服务器成功,304代表没做修改访问的是缓存
		if((xmlHttp.status >= 200 && xmlHttp.status <300) || xmlHttp.status === 0 || xmlHttp.status == 304) {
			return xmlHttp.responseText;
		}
	}
	return null;
};