Ajax调用进度百分比(指示符)
Ajax call percentage of progress (indicator)
我有一个数据类型为JSON
的AJAX调用,当运行AJAX调用时,进度百分比在console.log中指示,但在磁盘上完成上传文件之前达到的百分比是100%。如何将百分比与流程的实际进度同步?我等待答案,谢谢!
JavaScript
$(document).on('click','.btnSend',function() {
var imagem = $(this).closest('img.img-preview');
if (imagem.length>0)
{
img_data = imagem.attr('src'); //base64
img_size = imagem.attr('size');
}
var myjson_imagem = JSON.stringify({img_data: img_data,img_size:img_size});
$.ajax
({
type: "POST",
url: "ajax_upload.php",
data: {dataimagem:myjson_imagem},
datatype: 'json',
complete: function(){
$("[data-toggle='tooltip']").tooltip();
},
cache: false,
async: true,
xhr: function () {
var xhr = $.ajaxSettings.xhr();
xhr.onprogress = function e() {
// For downloads
if (e.lengthComputable) {
console.log((e.loaded / e.total *100|0)+"%");
}
};
xhr.upload.onprogress = function (e) {
// For uploads
if (e.lengthComputable) {
console.log((e.loaded / e.total *100|0)+"%");
}
};
return xhr;
},
success: function(response)
{
console.log(response);
var obj = JSON.parse(response);
var result = obj[0].ajax_result;
switch (result)
{
case "0": console.log('upload ok'); break;
case "1": console.log('upload not ok'); break;
}
},
error: function()
{
alert('ajax error UPLOAD');
}
});
});
记录
scriptx.js:1225 3%
scriptx.js:1225 97%
scriptx.js:1225 100%
我最近使用了一个类似的ajax函数,为文件上传器处理进度条。在上传完全完成之前,它达到100%,我没有遇到任何问题。我在下面列举了一个例子。
xhr: function() {
var xhr = $.ajaxSettings.xhr() ;
// set the onprogress event handler
xhr.upload.onprogress = function(evt) {
let percentComplete = evt.loaded / evt.total*100+'%';
console.log(percentComplete);
};
我希望这能有所帮助。
相关文章:
- 分派点击事件并保留击键修饰符
- 如何在映射数组中添加换行符
- 转义符不能与innerHTML一起使用
- 使用CSS或JavaScript计算分页符的数量
- 使用javascript的Asp.net内容占位符
- JQuery:向多个匹配结果添加换行符的最简单方法
- Internet Explorer缺少占位符支持,特别是密码字段
- 看到“;未捕获的类型错误:无法读取属性'weight'未定义的“;尽管按照字面上的指示
- 在文本区域中使用jQuery.text()保持换行符
- 如果宽度是百分比,如何设置以px为单位的图像高度
- javascript替换换行符和特殊字符
- 创建web服务“;活动指示器”-与所有浏览器兼容的类似指示符
- ajax”;“忙”;指示符,但仅适用于较长的请求
- 对数组进行排序并返回一个指示符数组,该数组指示已排序的元素相对于原始元素(new)的位置
- Ajax调用进度百分比(指示符)
- protobuf解码中出现非法组结束指示符错误
- 如何判断一个可观察对象是否在“等待”另一个使用RxJS(例如,用于Ajax请求指示符)
- 如何在第一次加载应用程序时显示加载指示符
- 正在Ajax中加载指示符
- Ng文件上传显示上传指示符