function createXMLHttpRequest() {
var xmlHttp;
try {
// 适用于大多数浏览器(IE7+、Chrome、Firefox等)
xmlHttp = new XMLHttpRequest();
} catch (e) {
// 针对IE低版本浏览器(IE5、IE6)
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
// 浏览器不支持AJAX
alert("您的浏览器不支持AJAX!");
return null;
}
}
}
return xmlHttp;
}
// 定义发送请求的函数
function sendRequest(url) {
// 1. 创建XMLHttpRequest对象
var XMLHttpReq = createXMLHttpRequest();
if (!XMLHttpReq) return; // 创建失败直接退出
// 2. 打开请求(GET方式,true表示异步)
XMLHttpReq.open("GET", url, true);
// 3. 指定响应回调函数(把对象传给回调)
XMLHttpReq.onreadystatechange = function() {
processResponse(XMLHttpReq);
};
// 4. 发送请求(GET请求send(null))
XMLHttpReq.send(null);
}
// 处理返回信息的回调函数(接收xhr对象)
function processResponse(XMLHttpReq) {
// readyState=4表示数据完整返回,浏览器接收完毕
if (XMLHttpReq.readyState == 4) {
// 判断HTTP状态码是否为200(请求成功)
if (XMLHttpReq.status == 200) {
// 服务器响应的文本数据
alert(XMLHttpReq.responseText);
} else {
// 页面异常
alert("您所请求的页面有异常。状态码:" + XMLHttpReq.status);
}
}
}
// 发送请求
sendRequest("https://httpbin.org/get");
console