我使用以下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();
}
});
}
提前致谢