1

我正在使用以下 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();
        }
    });
}

提前致谢

4

0 回答 0