2011-08-30 24 views
0

使用ajax如何從包含超過50000條記錄的xml獲取服務器servlet的響應。如果我嘗試在用戶界面中顯示該記錄,它非常緩慢並且凍結如何避免它。JavaScript從ajax響應中載入大量數據

+7

不要一次抓取多條記錄。您的用戶最初是否真的需要查看50,000條記錄?考慮分頁。 –

+0

@ rlb.usa謝謝你,但我如何加載前100個記錄和下100個記錄下一個.....等等如何可能的任何例子...作爲學習者,我需要一些簡單的例子.... – mca

回答

0

jsonp比ajax快得多。原因是大多數瀏覽器解析javascript標籤確實很快。看到這裏,http://devlog.info/2010/03/10/cross-domain-ajax/上手(方案二與實施JSONP交易。

這樣做的缺點是,你需要修改你的服務器。

您也可以加載少的記錄,或使用分頁。

編輯 - 使用尋呼,將需要創建一個支持某種像startsize API領域的服務器端點所以,你會怎麼做

http://www.example.com/data?start=0&size=100 

這意味着噸。服務器應該從第一個開始返回100個數據元素。如果您將開始從0更改爲1000,則會從第1000個元素開始返回100個元素。

它只是一個簡單的ajax調用。唯一不同的是告訴服務器你需要多少數據,從哪裏開始,將這些參數添加到你的請求中。

你的UI將會有一個表,用某種「下一步」和「上一個」頁面按鈕

+0

親愛的hvgotcodes任何例如,如果我第一次有50000條記錄,而加載1-500下一個500-1000 ....直到50000我需要一些簡單的例子 – mca

+0

我試過後,我回復你謝謝Mr.hvgotcodes – mca

+0

謝謝它的工作...人 – mca

1

正如在其他反應已經表明,你需要頁面數據。這可能意味着服務器端也必須適應支持分頁。

這個例子來自非常優秀的Datatables JQuery插件也顯示了實現分頁的服務器代碼。雖然該代碼使用PHP,但研究該代碼以理解分頁概念可能是一個好主意。

+0

+1即時可用性,用戶不必修改他們的服務器 –