2010-07-18 96 views
1

我正在使用$ .get请求获取一些数据,然后将它存储在一个cookie中。当用户点击一个按钮时,获取请求就会运行。然后,他们会链接到另一个页面,存储到cookie中的数据将被提取并显示在新页面上。jquery - Ajax - 回调函数?

不幸的是,有些人在点击时过于活跃,get请求会运行,但会在有时间完成之前转到下一页。这显然会导致错误。所以我想要代码的东西,将禁用链接到下一页,直到获取请求完成,但我不知道如何。

这就是我现在所拥有的一切。

$.get(url, function(d) { 
        cp = $('textarea#txt_quote', d).html(); 
        z_cookie.set(topic_id, current_posts, '1'); 
       }); 

回答

0

您可以通过处理其click事件,像这样禁用链接:

var link = $('selector to find <a> tag'); 
link.click(function() { return false; }); 


$.get(url, function(d) { 
    cp = $('textarea#txt_quote', d).html(); 
    z_cookie.set(topic_id, current_posts, '1'); 

    link.unbind('click'); 
}); 

如果你愿意,你可以在click处理程序中设置一个变量,如果它被设置,导航到AJAX请求完成后的页面,如下所示:

location.href = link.attr('href'); 
+0

我试过类似这样的东西,但没有得到它的工作,尽管你的想法很好地工作。谢谢吨。 – Pete 2010-07-18 23:06:47