XMLHttpRequest
XMLHttpRequest 是一个API, 它为客户端提供了在客户端和服务器之间传输数据的功能。
XMLHTTP 是一组API函数集,可被JavaScript、JScript、VBScript以及其它web浏览器内嵌的脚本语言调用,通过HTTP在浏览器和web服务器之间收发XML或其它数据
它提供了一个通过 URL 来获取数据的简单方式,并且不会使整个页面刷新。这使得网页只更新一部分页面而不会打扰到用户。
XMLHttpRequest 在 AJAX 中被大量使用。
XMLHttpRequest 使用
var xhr = new XMLHttpRequest(); // 创建xhr对象
xhr.open( method, url ); #初始化一个请求
xhr.onreadystatechange = function () { ... }; #等待远程主机做出回应,监控XMLHttpRequest对象的状态变化,指定回调函数。
xhr.setRequestHeader( ..., ... );
xhr.send( optionalEncodedData ); #向服务器发出一个 HTTP 请求:
事件
loadstart - 当程序开始加载时,loadstart 事件将被触发。
progress - 进度事件会被触发用来指示一个操作正在进行中。
abort - 当一个资源的加载已中止时,将触发 abort 事件。
error - 当一个资源加载失败时会触发error事件。
load - 当一个资源及其依赖资源已完成加载时,将触发load事件。
timeout - 当进度由于预定时间到期而终止时,会触发timeout 事件。
loadend - 当一个资源加载进度停止时 (例如,在已经分派“错误”,“中止”或“加载”之后),触发loadend事件。
readystatechange - readystatechange 事件会在 document.readyState属性发生变化时触发。
参考:https://juejin.im/post/58e4a174ac502e006c1e18f4