在 Ajax 请求时需要监听 xhr 对象的 onreadystatechange 和 onprogress 事件,其中 onprogress 可以用来显示进度条或上传/下载进度。
示例代码如下:
var xhr = new XMLHttpRequest();
xhr.onloadstart = function() { console.log('onloadstart'); }
xhr.onprogress = function(e) { if (e.lengthComputable) { console.log('loaded', e.loaded); console.log('total', e.total); } }
xhr.onload = function() { console.log('onload'); }
xhr.onerror = function() { console.log('onerror'); }
xhr.onloadend = function() { console.log('onloadend'); }
xhr.open('GET', 'https://jsonplaceholder.typicode.com/posts/1'); xhr.send();