extjs JsonP代理无法加载大量数据

时间:2015-11-05 11:52:25

标签: javascript json extjs sencha-touch-2 jsonp

我有一个带有JsonP代理的商店,当我加载大约2500条记录时,商店正在加载,但是当它超过它时,它给了我这个错误:

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列。

我首先想到的可能是一个角色,所以我用“测试测试”替换了我的所有数据,它没有用!

文件的大小是否有限制?或者商店可以有多少条记录?

我希望有人会花时间研究这个问题并给我一个答案,我一直在寻找这个问题一段时间无济于事。

由于

1 个答案:

答案 0 :(得分:0)

要解决您的问题,我建议您使用商店的buffer功能。这可以避免您的商店规模问题。