2013-08-18 63 views
-1

我下载了几个实体一个ajax-request。然后我将它们添加到商店。我需要提交一个类似于ajax-request的更改。如何正确地做到这一点?ExtJS中的嵌套数据

JSON结构:

{ 
    entity1: [], 
    entity2: [], 
    entyty3: [] 
} 


success: function(responce) { 
    var data = Ext.decode(response.responseText); 
    store1.add(data['entity1']); 
    store2.add(data['entity2']); 
    store3.add(data['entity3']); 
} 
+0

存储类型在这里不清楚。它是JsonStore吗? –

+0

建议用更多细节来描述问题。比如你如何提交,存储定义等。 –

回答

0

好了,你可以把它作为JSON和如下,可以很容易做到:

Ext.Ajax.request({ 
    url: 'YourURL', 
    jsonData: YourObjectRef, // can be any object/array or JSON string 
    success: function(response, opts) { 
     // your code 
    } 
}); 

如果你想用店里做它用为Modelfield输入auto。这种类型可以包含任何对象。

检查以下参考资料:

ExtJs 4.0.7 Stores

ExtJs 3.4.0 Stores

请检查autoSync属性,以每个编辑它的记录之一后,自动同步,其代理的商店。默认为false。

+0

我只需要发送更改的记录。如果服务器将分配ID添加记录并返回更改,该怎么办? – user2417329

0

你可以这样使用。因为在extjs4中,有必要使用该模型创建一个记录

success: function(responce) { 
    var data = Ext.decode(response.responseText),record; 
    Ext.each(data,function(entity,index,dataItself){ 
     record = Ext.create('YOURMODEL',entity); 
     store.add(record); 
    }); 
}