Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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中为json数组创建模型?_Javascript_Json_Extjs - Fatal编程技术网

Javascript 如何在extjs中为json数组创建模型?

Javascript 如何在extjs中为json数组创建模型?,javascript,json,extjs,Javascript,Json,Extjs,我从服务器返回的数据如下所示: ["admin", "user", "developer", "super"] 我试图将其映射到这个模型中: Ext.define('RoleModel', { extend: 'Ext.data.Model', //fields: [{}] }); 我的商店看起来像这样: Ext.create('Ext.data.Store', { model: 'RoleModel', proxy: {

我从服务器返回的数据如下所示:

["admin", "user", "developer", "super"]
我试图将其映射到这个模型中:

Ext.define('RoleModel', {
      extend: 'Ext.data.Model',
      //fields: [{}]
});
我的商店看起来像这样:

 Ext.create('Ext.data.Store', {
      model: 'RoleModel',
      proxy: {
          type: 'ajax',
          url : '/roles',
          reader: {
              type: 'json'
          }
      },
      autoLoad: true
  });

如何将从服务器获取的单个阵列映射到我的
角色模型中?

我最后向模型中添加了一个角色字段,并执行了如下操作:

Ext.Ajax.request({
  url: '/roles',
  success: function(response){
    var json = Ext.JSON.decode(response.responseText);
    var jsonObj = json.map(function(r){ return {role: r}});
    store.loadData(jsonObj);
  }
});

您已经得到了它,在将JSON解析为数据模型之前,它需要采用以下格式:

[
{“角色”:“管理员”},
{“角色”:“用户”},
{“角色”:“开发人员”},
{“角色”:“超级”}
]
。。。但是,如果您正在运行ExtJS5.x,则无需手动进行Ajax调用-您可以在代理的读取器上应用转换,例如:

Ext.create('Ext.data.Store'{
型号:“RoleModel”,
代理:{
键入:“ajax”,
url:“/roles”,
读者:{
键入:“json”,
转换:函数(数据){
返回data.map(函数(x){
返回{role:x};
});
}
}
}
});

为什么会被否决?