在服务器上插入记录后,在EXTJS中自动刷新网格

时间:2017-09-15 10:28:25

标签: javascript ajax extjs

我正在使用EXTJs4,我想在数据库中插入记录后重新加载网格。目前我使用Task runner每1分钟重新加载一次商店。 以下是样本:

var store = grid.getStore();    
var refreshTask = {             
    run: function() {
        store.reload();
    },
    interval: 60 * 1000 
};

Ext.util.TaskRunner.start(refreshTask);

我不确定如何在数据库中插入数据时如何编写函数来重新加载?

1 个答案:

答案 0 :(得分:0)

一旦发生变化,有多种方法可以从服务器获得即时响应,最兼容的是所谓的"挂起请求"。

您所做的是向服务器发送请求,服务器不会立即回答。服务器反而等待直到有更改(它允许请求"挂起"因此名称),并且仅在此之后或在预定义的超时之后发送回复。 (显然,您的服务器端代码必须支持此行为。)

使用store.load或客户端的其他商店功能无法实现此功能;您必须使用Ext.Ajax.request并手动评估回复,例如从请求回调中调用store.loadRawData以将更改的记录加载到商店中。