2009-12-08 52 views
0

簡而言之:使用jquery我想獲得一些xml輸出並將其用於定製網格插件。我的問題是有效地將我需要的數據獲取到插件中。JQuery - 在多個函數中使用post/ajax結果

該插件需要獲取返回的節點和行本身的數量。目前,我做了2個獨立的調用來獲取XML,一個獲取它並計算節點並將該數字返回給插件,一個再次獲取它將數據本身排序並將其傳遞給插件進行格式化和顯示。

所以插件的設置是這樣的:

$("someID").thePlugin({count:countFunction, rows:loadRowsFunction}); 

其中countFunction獲得XML文件,並計算節點和loadRowsFunction也得到xml文件並加載數據。我想要一次獲取xml文件。什麼是最好的方式去做這件事?

回答

4

合乎邏輯的選擇是將功能分開。這與「DRY」(不要重複自己)編碼原則一致。

刪除count函數和loadRows函數的XML讀取部分,並將其放入它自己的函數中,比如說xmlFetch()。

現在,使xmlFetch()有一個緩存機制。默認情況下,它在第一次調用內容時獲取內容,並將其存儲在內存中。如果另一個請求到達xmlFetch(),它只會返回已獲取的數據。如果要重新獲取數據,可以使其可以覆蓋緩存機制。

現在,您的計數函數和loadRows函數都可以調用xmlFetch(),並且只會獲取一次結果,除非明確告知重新獲取。

+0

我試圖解釋這個相同的事情,但花了太長時間。 +1。 – 2009-12-08 21:18:26

相關問題