2010-07-18 97 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