Skip to content

AJAX兼容处理 #64

@Yangxiaqing

Description

@Yangxiaqing
//->createXHR:创建AJAX对象兼容所有的浏览器
function createXHR() {
	var xhr = null;
	var flag = false;
	var ary = [
		function () {
			return new XMLHttpRequest;
		},
		function () {
			return new ActiveXObject("Microsoft.XMLHTTP");
		},
		function () {
			return new ActiveXObject("Msxml2.XMLHTTP");
		},
		function () {
			return new ActiveXObject("Msxml3.XMLHTTP");
		},
	];
	for (var i = 0; len = ary.length; i < len; i++) {
		var curFn = ary[i];
		try {
			xhr = curFn();
			//->本次循环获取的方法执行没有出现错误:说明此方法是我想要的,我们下一次直接执行这个小方法即可
			//这就需要我们把createXHR重写为小方法,完成后不需要再判断下面的了,直接退出循环即可
			createXHR = curFn;
			flag = true;
			break;
		} catch (e) {
			//->本次循环获取的方法执行出现错误:继续执行下一次的循环
		}
	}
	if (!flag) {
		throw new Error("your browser is not support ajax,plase change your browser,try again!");
	}
	return xhr;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions