出现AJAX文件进度不工作或addEventListener('progress')不起作用的问题可能是因为代码中的某些错误或配置问题。以下是一些可能的解决方法:
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.upload.onprogress = function(event) {
if (event.lengthComputable) {
var percentComplete = (event.loaded / event.total) * 100;
console.log(percentComplete + '% 完成');
}
};
xhr.open('GET', 'example_url', true);
xhr.onprogress = function(event) {
if (event.lengthComputable) {
var percentComplete = (event.loaded / event.total) * 100;
console.log(percentComplete + '% 完成');
}
};
xhr.send();
Content-Length:
Content-Type:
检查浏览器的开发者工具,查看控制台是否显示任何错误消息。如果有错误消息,请根据错误消息进行调试和修复。
确保数据传输的时间足够长,以便能够触发进度事件。对于较小的文件或较快的网络连接,进度事件可能不会触发。
如果以上解决方法仍然无法解决问题,可能需要进一步检查代码和服务器配置,或者考虑使用其他的AJAX库或插件来处理文件进度。