XMLHttpRequestUpload: loadend 事件

基线 广泛可用

此功能已得到良好建立,并在许多设备和浏览器版本上运行。它自 2015 年 7 月.

报告反馈

注意: 此功能在 Web Workers 中可用,但 Service Workers 除外。

loadend 事件在请求完成时触发,无论成功(在 load 之后)还是不成功(在 aborterror 之后)。

语法

当请求被中断时(通过 timeoutaborterror)也会发送 loadend 事件。在这种情况下,事件的 loadedtotal 值都将为 0。

在诸如 addEventListener() 之类的 方法中使用事件名称,或设置事件处理程序属性。
addEventListener("loadend", (event) => {});

onloadend = (event) => {};

事件类型

事件属性

一个 ProgressEvent。继承自 Event

除了下面列出的属性外,父接口 Event 的属性也可用。

lengthComputable 只读

一个布尔标志,指示基础进程要完成的总工作量以及已完成的工作量是否可计算。换句话说,它说明进度是否可衡量。

loaded 只读

一个 64 位无符号整数,表示基础进程已执行的工作量。完成的工作量比例可以通过将 total 除以该属性的值来计算。当使用 HTTP 下载资源时,这仅计算 HTTP 消息的主体,不包括标题和其他开销。

total 只读

示例

使用 loadend 事件

一个 64 位无符号整数,表示基础进程正在执行的总工作量。当使用 HTTP 下载资源时,这是 Content-Length(消息正文的大小),不包括标题和其他开销。

在诸如 addEventListener() 之类的 方法中使用事件名称,或设置事件处理程序属性。
// When the upload is finished, we hide the progress bar.
xhr.upload.addEventListener("loadend", (event) => {
  progressBar.classList.remove("visible");
  if (event.loaded !== 0) {
    // Successful termination
    log.textContent = "Upload finished.";
  }
  abortButton.disabled = true;
});

规范

您可以使用 loadend 事件来检测上传的(成功或不成功)终止。有关上传文件并显示进度条的完整代码示例,请参见主 XMLHttpRequestUpload 页面。
规范
# XMLHttpRequest 标准
规范
# event-xhr-loadend

浏览器兼容性

handler-xhr-onloadend

另请参阅