jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 在Firefox上传100%时不会触发Html5 ajax文件上传进度监听器大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我通过ajax上传文件并在上传后处理图像.
当我尝试在firefox上通过ajax上传图像文件时,xhr进度事件在上传百分比为100%但文件上传成功时不会触发我的进度功能.

上传进度100%时谷歌浏览器触发,但Firefox没有.

Biriefly我的上传脚本:

$("#uploadbutton").click(function(){
   var xhr=new XMLHttpRequest(),fd=new FormData();

   xhr.upload.addEventListener("loadstart",uploadStart,false);
   xhr.upload.addEventListener("progress",uploadProgress,false);
   xhr.addEventListener("error",uploadFailed,false);

   xhr.open("POST",mainurl+"ajaxupload.PHP");

   $.each($("#upload_input").files,function(i,file){
     fd.append("files_"+i,file);
   });    

  xhr.send(fd);

});

function uploadProgress(event){
   var percentComplete = Math.round(event.loaded * 100 / event.total);
   console.log("pecent ",percentComplete);
}

上传启动时,uploadProgress函数runnig 1次(大部分上传时百分比为80%),但上传时没有触发fnish.

解决方法

除了当前的处理程序之外,再添加两个: load(如果成功完成则触发),loadend(始终触发,始终触发).

// zero or once
xhr.addEventListener("load",uploadSuccess,false);
function uploadSuccess(event) {
    console.log("Upload successful.");
}

// once
xhr.addEventListener("loadend",uploadComplete,false);
function uploadComplete(event) {
    console.log("All done.");
}

大佬总结

以上是大佬教程为你收集整理的jquery – 在Firefox上传100%时不会触发Html5 ajax文件上传进度监听器全部内容,希望文章能够帮你解决jquery – 在Firefox上传100%时不会触发Html5 ajax文件上传进度监听器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: