获取jQueryAjax请求进度的最干净的方法是什么?

在普通javascript中非常简单:只需将回调附加到{XMLHTTPRequest}.onprogress

var xhr=new XMLHttpRequest();
xhr.onprogress=函数(e){
if(如长度可计算)
风险值百分比=(e.loaded/e.total)*100;
};
xhr.open(’GET’,’http://www…”,对),;
xhr.onreadystatechange=函数(){

};
xhr.send(空);

但是我正在做一个ajax站点,它使用JQuery下载html数据($.get()$.ajax()),我想知道哪种方法是获取请求进度的最佳方法,以便用一个小进度条显示请求,但奇怪的是,我在JQuery文档中没有找到任何有用的东西

类似于$.ajax(仅限HTML5):

$.ajax({
xhr:function(){
var xhr=new window.XMLHttpRequest();
xhr.upload.addEventListener(“进度”,函数(evt){
if(evt.长度可计算){
var percentComplete=evt.loaded/evt.total;
//在这里上传进度
}
},假);
xhr.addEventListener(“进度”,函数(evt){
if(evt.长度可计算){
var percentComplete=evt.loaded/evt.total;
//对下载进度做些什么
}
},假);
返回xhr;
},
键入:“POST”,
网址:“/”,
数据:{},
成功:功能(数据){
//为成功做点什么
}
});

发表评论