首页 > 解决方案 > XMLHttpRequest 适用于 Chrome+Edge,但不适用于 Firefox

问题描述

我正在尝试在我的上传表单中添加一个进度条。到目前为止,它适用于 Chrome 和 Edge,但 Firefox 不适用。

我试过检查 Firefox 中的控制台,看看它是否抛出任何错误,但事实并非如此。我发现它甚至没有尝试运行函数progressHandler(event)。在 Chrome 中是这样。各位大神能帮我看看是怎么回事吗?谢谢

function _(el) {
  return document.getElementById(el);
}

function progressHandler(event) {
  var percent = (event.loaded / event.total) * 100;
  _("progressBar").value = Math.round(percent);
}

function uploadFile() {
  var file = _("hid").files[0];
  var formdata = new FormData();
  formdata.append("hid", file);
  var ajax = new XMLHttpRequest();
  ajax.upload.addEventListener("progress", progressHandler, false);
  ajax.open("POST", "upload.php");
  ajax.send(formdata);
}

标签: jqueryhtmlajaxfirefox

解决方案


推荐阅读