2015-11-05 65 views
0

我有一個JsonP代理存儲,當我加載大約2500條記錄時,商店加載的很好,但是當它超過這個數量時,它給了我這個錯誤:extjs JsonP代理無法加載大量數據

Uncaught TypeError: Ext.data.JsonP.callback1 is not a function 

的錯誤是在輸出的PHP文件,下面是我的商店代碼:

Ext.define('DVD.store.DVDOnline', { 
    extend: 'Ext.data.Store', 
    requires: [ 
     'DVD.model.DVD' 
    ], 
    config: { 
     model: 'DVD.model.DVD', 
     storeId: 'DVDOnlineStore', 
     autoLoad: false, 
     proxy: { 
      type: 'jsonp', 
      url: 'http://' + ((localStorage.getItem('serverIP') == null) ? "127.0.0.1" : localStorage.getItem('serverIP')) + '/mobile_apps/stores/DVD/test.php', 
      reader: { 
       type: 'json', 
       rootProperty: 'responseData.feed.entries' 
      } 
     } 
    } 
}); 

請注意,店面不大渲染任何名單上,我只是不加載它撕心裂肺如此我排除了瀏覽器緩衝區溢出的原因,當我在上面的商店中調用load()時,會引發錯誤。

JsonP文件大小約爲400 kb,它有3000條記錄,每條記錄有3列。

我首先想到也許它是一個字符,所以我用「測試測試」替換了我的所有數據,但它不起作用!

那麼文件的大小有多大?或者商店有多少條記錄?

我希望有人會花時間來看看這個並給我一個答案,我一直在尋找這一段時間無濟於事。

感謝

+0

你看過迴應嗎?是格式正確的JavaScript還是服務器端出現錯誤? –

+0

響應文件本身不應該被觸發,當你自己運行響應時,它肯定會給出上述錯誤「不是函數」,但它應該從應用程序中被觸發!當我將輸出數據限制爲2000條記錄時,代碼工作100%,當數據高於2500左右時,它只會產生錯誤。輸出是'Ext.data.JsonP.callbackX(json_output .....)'裏面的json輸出是100%有效的json,我已經檢查過多次 –

回答

0

解決你的問題,我建議你使用的存儲區的buffer功能。這可以避免您的商店尺寸問題。