javascript---为ajax创建一个进度条指示器

xhr的progress事件

在XMLHttpRequest2级中添加了一个progress事件, 这个事件会在浏览器接收新数据期间周期性的触发. 而onprogress事件处理程序会接收到一个event对象, 其target属性是XHR对象, 但会额外包含三个属性: lengthComputable, position和totalSize. 其中, lengthComputable是一个表示进度信息是否可用的布尔值, position表示已经接收的字节数, totalSize表示根据Content-Length响应头部确定的预期字节数, 有了这些信息, 我们就可以创建一个进度条指示器


let xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
  if (xhr.readyState == 4) {
    if ((xhr.status >= 200) && (xhr.status <= 300) || xhr.status == 304) {
      alert('ok');
    } else {
      alert('error');
    }
  }
}

xhr.onprogress = function (event) {
  let divstatus = document.getElementById('status');
  if (event.lengthComputable) {
    divstatus.innerHTML = `received ${event.position} of ${event.totalSize} bytes}`;
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值