我正在使用以下 jquery ajax 代码批量处理具有一定数量记录的 PHP 脚本。函数 'do_ajax()' 将进行批处理。FF 中一切正常,进度条显示已完成任务的进度(10%、20%、30%.....100%)。
但在 IE 和 Google Chrome 中,进度条没有加载中间进度(10%、20% 等)。但它会加载最终状态(100%)。
如果我取消注释以下行,它也可以在 IE 和 Chrome 中使用
//警报(百分比);
也尝试使用 setTimeout 和延迟函数,但这些也返回相同的结果
下面是使用的代码
$(document).ready(function(){
$(".big-link").click(function() {
var rec_id = $(this).attr('id');
var r=confirm("Do You really want to process?");
if (r==true){
$( "#progressbar" ).progressbar({ value: 0});
do_ajax(start, offset);
}
});
});
var total = 50;
var offset = 10;
var start = 0;
function do_ajax(){
var cnt = 0;
$.ajax({
type: "GET",
async:false,
url: "createsubscrptn.php?start="+start+"&offset="+offset,
error: function(xhr, status, error){
alert(error);
location.reload(true);
},
success : function (serverResponse){
cnt = parseInt(serverResponse);
percentage = parseInt( (cnt/total)*100);
//alert(percentage);
$( "#progressbar" ).progressbar({ value: percentage});
start+=offset;
if (start < total) {
do_ajax();
}
alert('Process Completed');
location.reload(true);
exit();
}
});
}
提前致谢