以与JSON嵌套相同的方式触摸关联模型
我的JSON输出是:
{"Result":
{"Data":
[{"gmt_id":"1","gmt":"-12:00","secondsDiff":"-43200","Location":"Baker IslanIsland"},
{"gmt_id":"2","gmt":"-11:00","secondsDiff":"-39600","Location":"American Samoa, Samoa"},
{"gmt_id":"3","gmt":"-10:00","secondsDiff":"-36000","Location":"Hawaii, Papeete"}]}}
- 我希望我的模型与Result和Data嵌套,以便在商店中设置autoLoad:true时,应该访问流中的key:值。 但是我的console.log给出了[]。 我在我的模型的某个地方错了,请帮助!
- 这是我的模特
Ext.regModel('Gmt',
{'Result':
{'Data':
[
{name:'gmt_id',type:'string'},
{name:'Location',type:'string'}
]
}
});
这是我的商店加载数据:
var jsonStore = new Ext.data.Store({ model: "Gmt", proxy: { type: 'ajax', url: 'gmt.php', //url: 'data.json', method: 'GET', // callback: console.log(response), reader: { type: 'json', //root: 'Data' root:'Result' // type:'json' }, afterRequest: function (request, success) { if (success) { console.log("success"); } else { console.log("failed"); }} }, autoLoad: true });
- 访问键:这里是数值参数
jsonStore.on('load', function(){
var lstArr = new Array();
var lstAr = new Array();
jsonStore.each(function(i) {
//var gmtdata = i.data.gmt_id;
// console.log(i);
lstArr.push(i.data.gmt_id);
lstAr.push(i.data.Location);
});
console.log(lstArr);
console.log(lstAr);
});
自己解决。
- 更改商店根目录
- 以root身份设置“Result.Data”
var jsonStore = new Ext.data.Store({
model: "Gmt",
proxy: {
type: 'ajax',
url: 'gmt.php',
//url: 'data.json',
method: 'GET',
// callback: console.log(response),
reader: {
type: 'json',
root:'Result.Data'
},
afterRequest: function (request, success) {
if (success) {
console.log("success");
} else {
console.log("failed");
}
}
},
autoLoad: true
});
链接地址: http://www.djcxy.com/p/48221.html