Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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 4集读取器_Javascript_Ajax_Model View Controller_Extjs_Extjs4 - Fatal编程技术网

Javascript ExtJS 4集读取器

Javascript ExtJS 4集读取器,javascript,ajax,model-view-controller,extjs,extjs4,Javascript,Ajax,Model View Controller,Extjs,Extjs4,我有一个JSON,应用程序中的其他部分多次使用它。 为了避免不必要的调用,我想获取它,而不仅仅是使用它 在需要的地方 问题是,JSON包含不同部分的不同部分, 这就是为什么我需要使用root属性 我需要的是: -代理,它将获取一个代理(一个代理) -每个部分的读取器,因为它们使用不同的根 -储存不同的零件 代理: var myProxy = new Ext.data.proxy.Ajax({ url: "static/data/myData.json" }); var operat

我有一个JSON,应用程序中的其他部分多次使用它。 为了避免不必要的调用,我想获取它,而不仅仅是使用它 在需要的地方

问题是,JSON包含不同部分的不同部分, 这就是为什么我需要使用
root
属性

我需要的是: -代理,它将获取一个代理(一个代理) -每个部分的读取器,因为它们使用不同的根 -储存不同的零件

代理:

var myProxy = new Ext.data.proxy.Ajax({
      url: "static/data/myData.json"
});

var operation = new Ext.data.Operation({
      action: "read"
});

myProxy.read(operation);
// try to create custom reader with appropriate root
var reader = new Ext.data.reader.Json({
    root: "table1"
});

// set reader to proxy
myProxy.setReader(reader);

// create store
Ext.create("Ext.data.Store", {
    storeId: "MyStore",
    model: "MyModel",
    autoLoad: true
});

// set proxy to store
Ext.data.StoreManager.lookup("MyStore").setProxy(proxy);
某些部分:

var myProxy = new Ext.data.proxy.Ajax({
      url: "static/data/myData.json"
});

var operation = new Ext.data.Operation({
      action: "read"
});

myProxy.read(operation);
// try to create custom reader with appropriate root
var reader = new Ext.data.reader.Json({
    root: "table1"
});

// set reader to proxy
myProxy.setReader(reader);

// create store
Ext.create("Ext.data.Store", {
    storeId: "MyStore",
    model: "MyModel",
    autoLoad: true
});

// set proxy to store
Ext.data.StoreManager.lookup("MyStore").setProxy(proxy);

当然,这是行不通的。我该怎么做?

您最好使用AJAX获取JSON,将其缓存在某个变量中,然后使用存储的
loadData
方法根据需要填充每个存储
loadData
允许您手动添加记录,而无需转到远程数据源。这将给你更严格的控制,而不必处理代理;只有读者和商店