2012-09-10 209 views
0

在我的html頁面中,我有4個購買按鈕。單擊每個按鈕時,相應的數據將被填充到彈出窗口中。它的工作正常。但是在這四個按鈕中,兩個具有相同的數據。所以我不需要單獨的電話來獲取這些數據。我想檢查數據是否已經加載在頁面中,如果是的話需要填充。我使用帶JSON的ajax從後端獲取數據。請幫助我。多按鈕點擊處理

在此先感謝。

添加小提琴

這裏如果u勾選使用firbug>網絡在底部我們可以看到4個JSON響應發生的事情已經加載。我要避免這種情況,因爲所有這四個resposes是重複

+2

顯示一些代碼。 –

+0

你能告訴我們一些代碼嗎? – codebox

+0

我會嘗試在這裏添加演示 – Shah

回答

0

當使用jquery ajax時,你可以簡單地讓jQuery做緩存工作。

$.ajax({ 

    cache: true, 

    success: function(data) { 

     // do something now that the data is loaded 

    }, 

    url: '/path/to/my/json/file.js' 

}); 
+0

感謝託什的快速反應。但我嘗試過緩存但在我的情況下沒有用。所有這些響應都是在頁面加載時發生的。在firebug中,我可以看到4個按鈕的響應 – Shah

+0

Hmhm說實話我沒有考慮過使用jQuery Ajax進行緩存,可以在瀏覽器級緩存嗎?這是否解釋了頁面加載?緩存它的另一種方式是將其存儲在內存中,但不希望重載內存,或者將其添加到html頁面並將其設置爲不顯示任何內容,並檢查它是否存在,否則發出ajax請求。 – Tosh

+0

關於jquery緩存的更多信息:http://blog.httpwatch.com/2009/08/07/ajax-caching-two-important-facts/ – Tosh

0

我會用jQuery和取得的東西一般:

$('.buybutton').click(function() { 
    loadDataIfNotLoaded(); 
}); 

只要把類=「buybutton」每個購買按鈕,並做檢查如果數據加載到你的功能。

+0

第一次加載數據後,爲什麼不檢查$('#code')。text是否在請求之前包含數據?或者嘗試HTTP緩存,如Tosh說。兩者都應該工作。 – YoyoS