我有一个使用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)..
我目前无法想办法再次启动这个过程。
我希望我把一切都清楚,并且有人能够帮助我。
答案 0 :(得分:0)
而不是
$('#generate_book_link').click();
直接调用您的函数:
generate_book_link_clicked();