2013-03-12 24 views
0

我有圖片庫。和畫廊有縮略圖時,用戶點擊縮略圖ajax請求將觸發。我希望當用戶再次點擊縮略圖請求時不應該觸發並使用現有數據。如何檢查已經請求ajax數據?

$.getJSON(url, function(data) { 

} 

我想要一個js對象,並保持JSON數據對於該對象的每個圖像時點擊的縮略圖進行,首先檢查是否已經加載了數據,如果是的話,不要讓一個Ajax調用只需使用我早先提取的數據,如果我拿着對象的數據?如是!那我該怎麼做呢?

+0

只需設置一個變量作爲一個標誌。 – 2013-03-12 19:02:55

+0

@Diodeus可以請你舉個例子! – 2013-03-12 19:04:34

回答

2

將初始點擊事件綁定到.one,然後在請求ajax後綁定一個新的點擊事件。

$(".thumbnail").one("click",function(){ 
    var request = $.getJSON(url); 
    $(this).on("click",function(){ 
     request.done(function(data){ 
      // do something with data when it is available 
     }); 
    }).triggerHandler("click"); 
}); 

在每個縮略圖中的第一次點擊將請求數據然後使用這些數據,每個隨後的點擊將只使用數據

+0

這是很好的例子,工作正常!有沒有其他的方式,所以我可以得到這個函數以外的數據對象,並檢查所有的對象是否與當前匹配!像'if([imageObj1,imageObj2,imageObj3] == imageObj2)'有可能嗎? – 2013-03-12 19:46:53

+0

我不'很明白你要去哪裏'if([imageObj1,imageObj2,imageObj3] == imageObj2)',一個對象永遠不會等於另一個,除非它們都是字面上相同的對象。 – 2013-03-12 20:32:05

+0

好的。感謝幫助。 – 2013-03-13 09:03:57