循环ajax调用,在服务器上完成lenghtly操作

时间:2012-11-12 08:01:50

标签: ajax loops

我有一个使用ajax的功能,需要很长时间才能完成 问题是我在服务器上有很多文件需要处理,而我想要制作的页面就像一个状态页面。

它有一个开始处理和文件计数的链接。它看起来像这样:


点击此处开始流程

文件0/500


当我点击链接时,它会运行此功能:

function generate_book_link_clicked(){
    $.getJSON("/generate_book", function(data){
      if (data['last'] == 'true'){
        $('#done').fadeIn(200);
      }else{
        $('#current_count').html(parseInt($('#current_count').text())+1);
        $('#generate_book_link').click();
     }
    });
}

这是链接代码:

<a href="#" id="generate_book_link" onclick="generate_book_link_clicked">click me</a>

这是计数器html的代码(“&lt;%= @ isbn_count.to_s%&gt;”只返回计数):

<span id="current_count">0</span>/<span id="total_count"><%= @isbn_count.to_s %></span>

但是,当ajax完成时,它不会再次启动进程,但计数只是在没有ajax调用的情况下快速启动。 就像,第一次成功完成,但它刚刚开始快速添加到“current_count”的值,并且它甚至永远超过原始计数(1000/500)..

我目前无法想办法再次启动这个过程。

我希望我把一切都清楚,并且有人能够帮助我。

1 个答案:

答案 0 :(得分:0)

而不是

$('#generate_book_link').click();

直接调用您的函数:

generate_book_link_clicked();