如何在不重新加载的情况下刷新 ExtJS 网格中的数据

How to refresh the data in an ExtJS Grid without reloading

如何在不刷新页面的情况下更新extjs中的网格数据?请给我一个完整的工作代码我是 extjs 的新手。这是我的代码

Ext.Ajax.request({
    url: 'register.cfm',
    method:'POST',
    params  : { data : JSON.stringify(form.getValues()) },
    dataType: "json",
    success: function(response){
         win.hide();
         //var str = JSON.stringify(response.responseText);
         var obj = JSON.parse(response.responseText);
         if (obj==1) {
            var values = form.getFieldValues ();
            store.add(form.getFieldValues())
        } else {
            (here i need to show updated values in the grid without refresh)
        }
   },
   failure : function(response){}
}); // eof ajax

因为你甚至 post 你的网格名称我不能提供给你

Ext.getCmp('yourGridId').getView().refresh();

应该在

之后调用
store.add(form.getFieldValues())

(你错过了 ; 吗?)

See this question for more details

我认为这里的问题是您手动尝试通过 ajax 更新商店。

商店应预先配置为与您的端点一起使用并能够自行更新。如果您使用的是 ExtJS 4+,则可以使用 Store Documentation.

中所示的商店过滤器

如果您使用的是 ExtJs 3,那么您应该更新商店中的参数并让它处理记录的请求和更新。

例如(代码未完全测试,可能需要一些细微的改动):

Ext.getCmp('myGrid').getStore().load({
    params: {
        data: JSON.stringify(form.getValues())
    }
});