今天在阮一峰大神的博客上看到关于js的ajax的理解,感觉比以前理解更加深刻了。
接着,先写一段原生ajax发请求:
var xhr = new XMLHttpRequest(); //建立XMLHttpRequest对象 因为ajax和后台沟通是靠发HTTP请求来实现的
// 指定通信过程中状态改变时的回调函数
xhr.onreadystatechange = function(){ //具体的过程是:readyState是XMLHttpRequest请求当前所处的状态,状态有五个值。当等于4的时候说明服务器已经完全接收了。
// 通信成功时,状态值为4 //每当这个状态有变化的时候,readyState的值就会变,每次变就会触发readystatechange这个事件,紧接着这个事件就会调用
if (xhr.readyState === 4){ //这个回调函数。(第三行的函数)
if (xhr.status === 200){ //一句话总结就是:XMLHttpRequest的状态变,导致readyState变,readyState变触发readystatechaneg这个事件,这个事件调用回调函数
console.log(xhr.responseText); //好好品味这句话:xhr.onreadystatechange=function(){},核心点是:给xhr添加了一个readystatechange事件。事件调用了函数
} else {
console.error(xhr.statusText);
}
}
};
xhr.onerror = function (e) {
console.error(xhr.statusText);
};
// open方式用于指定HTTP动词、请求的网址、是否异步
xhr.open('GET', '/endpoint', true);
// 发送HTTP请求
xhr.send(null);

浙公网安备 33010602011771号