今天在阮一峰大神的博客上看到关于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);
posted @ 2017-04-21 17:01  清心菩提  阅读(754)  评论(0)    收藏  举报