在IE和FF中无法正确显示Jquery Ajax进度条

时间:2013-08-14 15:40:53

标签: jquery

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

提前致谢

0 个答案:

没有答案