刷新JSON商店每60秒 - EXT JS 4

时间:2013-03-06 03:11:03

标签: javascript ajax json extjs extjs4

    var MarkerStore = Ext.create('Ext.data.JsonStore', {
            model: 'GoogleMarkerModel',
            autoLoad: true,
            proxy: {
                type: 'ajax',
                url: 'get-googlemarker.php',
                baseParams: {  //here you can define params you want to be sent on each request from this store
                            mainid: 'value1'
                            },
                reader: {
                    type: 'json',
                    idProperty:'MainID',
                }

            }
        });

setTimeout(MarkerStore, 60000);

这是正确的吗?因为我仍然无法每60秒获得任何新数据

1 个答案:

答案 0 :(得分:3)

我只使用javascript setInterval函数。 Sencha在他们的livegrid示例中使用了它。

例如:

// reload the stores once and then repeatedly every 60 seconds
MarkerStore.load();
setInterval(function() {
    MarkerStore.load();
}, 60000);

要获得更完整的答案,您使用的setTimeout javascript函数仅在指定的毫秒数后执行一次代码。 setInterval是您想要重复执行函数

另请注意,setIntervalsetTimeout的第一个参数是javascript函数。在上面的代码片段中,您将传递商店对象本身作为第一个不会导致它被调用的参数。 This page有更多数据。