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};
});
}
}
}
});
为什么会被否决?