您的位置:首页 > 其它

兼容早期IE版本的 Ajax 实例

2015-06-12 21:16 507 查看
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>ajax</title>
</head>
<body>
<script>
// 把intranet安全级别改成中低,把网站加入可信站点,把可信站点安全级别改成中低,在IE中就不会被拒绝访问。

// 页面加载完毕后立即执行这个语句
window.onload = function () {
startRequest();
}

// 兼容IE早期版本,建立一个XMLHttpRequest对象
function createXHR() {
if (typeof XMLHttpRequest != "undefined") {
return new XMLHttpRequest();
} else if (typeof ActiveXObject != "undefined") {
if (typeof arguments.callee.activeXString != "string") {
var versions = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0",
"MSXML2.XMLHttp"],
i, len;

for (i = 0, len = versions.length; i < len; i++) {
try {
new ActiveXObject(versions[i]);
arguments.callee.activeXString = versions[i];
break;
} catch (ex) {
//可放入提示文字
}
}
}

return new ActiveXObject(arguments.callee.activeXString);
} else {
// 没有XHR对象可用,抛出错误
throw new Error("No XHR object available.");
}
}

// 建立一个XHR对象,并且设置应对方法,同时检测返回状态
function startRequest() {

var xhr = createXHR();

xhr.onreadystatechange = function () {

// readState表示请求或者响应过程的当前活动状态
if (xhr.readyState == 4) {
// status响应的状态代码  304表示没有变化,可使用浏览器的缓存
if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) {
alert(xhr.responseText);
}
else {
alert("Failed to get the information!!!");
}
}
}

//三个参数,发送的请求的方法,请求的url,是否异步发送请求
xhr.open('get', 'data.txt', true);
xhr.send(null);
}

</script>
</body>
</html>

在同级目录下应该有一个名称为 data.txt的文件

文件内容可自定义,运行成功后会出现在警告框中

博主的文件内容是:  Get the information successfully.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: