2011-10-01 41 views
0
jQuery.get("/url2?key=abc", function(data){eval(data);}); 

這工作正常,除非數據量增長。jQuery.get - 答案可以太大嗎?

如果有,您可以通過此方法獲取數據的最大大小如何獲得大量回復?

+0

當數據增長過大時,數據的大小是多少?您是否嘗試過訪問該網址並確保數據未被截斷? – Ryan

+0

你是什麼'eval()'ing? JavaScript代碼或JSON字符串? – alex

+0

我不相信用於ajax get操作的XMLHTTPRequest有一個記錄的響應大小限制屬性。其實這不應該是對Ajax的限制,因爲後者只是一種技術。我認爲這取決於Web服務器設置請求和響應大小的限制。 如果你正在下載大塊數據,你可以做多個請求嗎?如果數據是以記錄形式分頁? –

回答

-2

它是102330個字節我想,等約8 MB的或約1076ish KB的

+4

WTF?這些數字都不相等...... –

+0

嗯......是的他們這樣做,我只是圓了 – comu

+2

嗯......不,他們不......我確信你需要檢查你的數學(一個很多)... 102330字節= 99KB,8MB = 8192KB = 8,388,608字節,最後1076KB = 1,101,824字節。那裏肯定會有很多四捨五入的事情發生。在這裏一個網站,讓你開始http://webdeveloper.earthweb.com/repository/javascripts/2001/04/41291/byteconverter.htm –

1

不知道是否有大小的任何限制,但實際的考慮因素在起作用:

1)請求可以採取如果服務器正在處理大量數據並需要通過線路發送,則返回時間太長。

2)一旦返回響應,執行客戶端計算需要很長時間。

3)您返回的數據過多,導致瀏覽器的內存使用量增加太多。

沒有硬性規定,如果用戶可以等待幾分鐘來加載應用程序,並讓計算機有很多內存,那麼也許它是可以的。你也可以通過localstorage(假設你不需要支持舊版瀏覽器)大數據來緩存,所以你只需要檢索一次(如果它沒有改變,或者它不會經常改變)。

請注意,jsonp是很多在加載和處理大型數據集時速度更快。所以你可能想要切換到大數據集。