今天就整理一下原生js的ajax请求兼容写法,如有不对之处欢迎指出~~~
//创建ajax的兼容写法
function createXHR()
{
var req = null;
if(window.XMLHttpRequest)
{
req = new XMLHttpRequest();
}
else
{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
return req;
}
var req = createXHR();
// open: 只是为数据请求做好准备
// 参数1: 请求数据的方式: GET, POST, DELETE, PUT 等
// 参数2: 服务器的信息
// 参数3: true 代表异步,false 代表同步操作
req.open("GET", "http://127.0.0.1:8080/ajax/ajaxtest", true);
// (3) 向服务器发送请求数据
req.send();
// 请求的属性,代表请求的状态
// 0: 尚未请求
// 1: 开始请求数据,但服务器还没有收到请求
// 2: 服务收到请求了,但还没处理
// 3: 已经开始处理数据了
// 【4】: 服务器已经处理完数据,并返回结果
// req.readyState
// req.status 是 HTTP的状态码
// 【200】 正常请求到数据
// req.status
// req.onreadystatechange 是 req 对象中的属性,
// 当 准备状态 改变时
// 将这个值设置成一个函数,就相当于 当 准备状态 改变时, 执行这个函数
// 4. 配置状态发生改变函数
req.onreadystatechange = function()
{
if (req.readyState == 4 && req.status == 200)
{
// 返回的结果,类型是 string
alert(req.responseText);
console.log("服务器已正常经返回结果");
}
}
console.log("这是主线程的调用");