我正在尝试通过请求生成的txt文件来跟踪存档压缩的进度,并通过PHP通过JQuery $ .get()进行更新。
除1或2个随机间隔失败的请求外,该过程有效,并返回以下内容:
在Chrome和Opera中,还有一个失败的请求旁边:“net :: ERR_CONTENT_LENGTH_MISMATCH”
以下是相关代码:
function check_compression(archive_name, progress_file, unique_compression_id) {
$.ajaxSetup ({
cache: false
});
var request = $.get($.trim(progress_file));
request.success(function(data) {
var percent = parseInt(data);
if(percent != 100) {
setTimeout(function() {
check_compression(archive_name, progress_file, unique_compression_id);
}, 100);
} else {
// Not finished
}
});
request.error(function(jqXHR, textStatus, errorThrown) {
// Just some error reporting
setTimeout(function() {
check_compression(archive_name, progress_file, unique_compression_id);
}, 500);
});
}
我做了一些研究并排除了可能出现的情况:
同源策略问题:所有请求都在同一服务器上的文件中完成。 progress_file var将采用如下格式:tmp_file.txt
未启用AdBlock。