当前位置 : 主页 > 网络编程 > JavaScript >

XMLHttpRequest实现上传进度条

来源:互联网 收集:自由互联 发布时间:2021-06-28
XMLHttpRequest实现上传进度条 XMLHttpRequest上传文件进度实现 若想用jQuery 中的ajax实现的话,jQuery的 ajax 方法没有关于 progress 事件的操作,此时需要调用的XMLHttpRequest对象是指定progress 事件
XMLHttpRequest实现上传进度条



 
    XMLHttpRequest上传文件进度实现
    


    
    
    

若想用jQuery 中的ajax实现的话,jQuery的 ajax 方法没有关于 progress 事件的操作,此时需要调用的XMLHttpRequest对象是指定progress 事件。
$.ajax({
    type: "POST",
  url: "upload",
  data: formData ,  //这里上传的数据使用了formData 对象
  processData : false, 
  //必须false才会自动加上正确的Content-Type 
  contentType : false , 
    
  //这里我们先拿到jQuery产生的 XMLHttpRequest对象,为其增加 progress 事件绑定,然后再返回交给ajax使用
  xhr: function(){
    var xhr = $.ajaxSettings.xhr();
    if(onprogress && xhr.upload) {
      xhr.upload.onprogress = progressFunction;
       return xhr;
     }
   }
});
XMLHttpRequest对象,传送数据的时候,有一个progress事件,用来返回进度信息。 它分成上传和下载两种情况 1)下载的progress事件属于XMLHttpRequest对象 2)上传的progress事件属于XMLHttpRequest.upload对象。 下载进度实现:
xhr.onprogress = downloadProgress;
function downloadProgress(event) {//未测试
    if(event.lengthComputable) {
        var percentComplete = event.loaded / event.total; 
    }
}
网友评论