Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExtJS中的嵌套数据_Javascript_Model View Controller_Extjs_Extjs4 - Fatal编程技术网

Javascript ExtJS中的嵌套数据

Javascript ExtJS中的嵌套数据,javascript,model-view-controller,extjs,extjs4,Javascript,Model View Controller,Extjs,Extjs4,我在一个ajax请求中下载了几个实体。然后我将它们添加到商店中。我需要提交一个ajax请求。如何正确地做这件事 Json结构: { entity1: [], entity2: [], entyty3: [] } success: function(responce) { var data = Ext.decode(response.responseText); store1.add(data['entity1']); store2.add(da

我在一个ajax请求中下载了几个实体。然后我将它们添加到商店中。我需要提交一个ajax请求。如何正确地做这件事

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']);
}

好的,您可以将其作为JSON发送,并且可以按照如下方式轻松完成:

Ext.Ajax.request({
    url: 'YourURL',
    jsonData: YourObjectRef, // can be any object / array or JSON string
    success: function(response, opts) {
        // your code
    }
});
如果您想对商店执行此操作,请使用Modelfield的类型
auto
。此类型可以包含任何对象

检查以下参考资料:


请检查
autoSync
属性,以便在每次编辑一条记录后自动将存储与其代理同步。默认值为false。

您可以这样使用。因为在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);   
  });
}

我只需要发送更改的记录。若服务器将分配id添加的记录并返回更改,那个么该怎么办?这里不清楚存储类型。是JsonStore吗?建议更详细地描述问题。例如,您的提交方式、存储定义等。