var HTTP = {};
//下面是一个创建 XMLHttpRequest 对象工厂函数列表
HTTP._factories = [
function() { return new XMLHttpRequest(); },
function() { return new ActiveXObject("Msxml2.XMLHTTP"); },
function() { return new ActiveXObject("Microsoft.XMLHTTP"); }
];
//当工厂函数调用之后,在这里存储返回结果
HTTP._factory = null;
//创建并返回 XMLHttpRequest 对象
HTTP.newRequest = function() {
if(HTTP._factory !=null ) return HTTP._factory();
for(var i = 0; i < HTTP._factories.length; i++) {
try
{
var factory = HTTP._factories[i];
var request = factory();
if (request != null)
{
HTTP._factory = factory;
return request;
}
}
catch (e)
{
continue;
}
}
//如果到这里没有工厂函数创建成功,抛出异常
HTTP._factory = function() {
throw new Error("XMLHttpRequest not support");
}
HTTP._factory();//抛出错误
}
//调用创建方法
HTTP.newRequest();
创建XMLHttpRequest对象
最新推荐文章于 2023-01-07 00:56:21 发布