2010-05-26 55 views
1

在我的一個網站中,我使用的是$.getJSON(url, function (data),如果響應數據多於1000,則這不起作用。任何替代方法都在那裏?getJSON不適用於大數據

+0

一個更好的性能,我們使用分頁或任何類似的技術,如「顯示下一個項目」,或許懶惰加載 – Luke 2011-02-02 16:18:49

回答

4

這可能是您的服務器上的一個設置。通常有一個最大的響應大小。你有沒有看過Firebug,看看反應是否真的到達瀏覽器?

+1

如果服務器應用恰好是ASP.NET,那麼可以查看'JavaScriptSerializer'的'MaxJsonLength'屬性。 – 2010-05-26 17:48:57

2

有沒有大小限制在$.getJSON。您在服務器上遇到問題,或者您有超時問題。 $.getJSON只是$.ajax的縮寫。嘗試使用$.ajaxtimeout參數,請求的本地超時(以毫秒爲單位)(有關更多信息,請參見http://api.jquery.com/jQuery.ajax/)。

+0

'$ .ajax'還會暴露一個'error'事件,您可能會檢查出XHR對象並獲取有關出錯的更多詳細信息。 – 2010-05-26 17:47:05

+0

@Chris:的確如此。你也可以定義'error'事件句柄等。 – Oleg 2010-05-26 17:59:55

0

如果您使用的是asp.net Web Services,則響應的最大大小。

這是一件好事。通常,您應該使用AJAX返回小尺寸的東西。

但是,如果您想要將其更改爲max,則可以在web.config的配置部分下添加此項。這不建議,請介意。

<system.web.extensions> 
    <scripting> 
     <webServices> 
      <jsonSerialization maxJsonLength="2147483644"></jsonSerialization> 
     </webServices> 
    </scripting> 
</system.web.extensions> 

一個有點相關的SO問題:Can I set an unlimited length for maxJsonLength in web.config?

0

只需使用$.post而不是使用$.getJSON

+0

爲什麼?這有什麼幫助? – Liam 2014-07-04 10:50:21

相關問題