获取JQuery ajax请求进展的最简洁方法是什么?在普通的javascript中非常简单:只需将回调附加到 {XMLHTTPRequest}.onprogressvar xhr = new XMLHttpRequest();xhr.onprogress = function(e){ if (e.lengthComputable) var percent = (e.loaded / e.total) * 100;};xhr.open('GET', 'http://www...', true);xhr.onreadystatechange = function() { ...};xhr.send(null);但我这样做,下载HTML数据使用jQuery(一个Ajax网站$.get()或$.ajax()),我想知道这是获得为了一点点进度条来显示它的请求的进展的最佳方式,但奇怪的是,我不是在JQuery文档中找到任何有用的东西......
3 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
像这样的东西$.ajax
(虽然HTML5):
$.ajax({ xhr: function() { var xhr = new window.XMLHttpRequest(); xhr.upload.addEventListener("progress", function(evt) { if (evt.lengthComputable) { var percentComplete = evt.loaded / evt.total; //Do something with upload progress here } }, false); xhr.addEventListener("progress", function(evt) { if (evt.lengthComputable) { var percentComplete = evt.loaded / evt.total; //Do something with download progress } }, false); return xhr; }, type: 'POST', url: "/", data: {}, success: function(data){ //Do something on success }});
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
jQuery有一个AjaxSetup()
函数,允许您注册全局ajax处理程序,例如beforeSend
和complete
所有ajax调用,以及允许您访问xhr
对象以执行您要查找的进度
添加回答
举报
0/150
提交
取消