我正在尝试从db返回的json中读取值。但我无法做到这一点。它给出了undefined。 在Firebug中,它以下列格式给出正确的值 {“COLUMNS”:[“B”,“C”,“D”,“E”,“F”,“G”], “DATA”:[[1.253,0.54,2.54,8.245,0,0.253]] }
当我提供console.log(response [0] .DATA.B)时,它给出了undefined。 我试过警报(response [0] .get('B'));这也是未定义的。 警报(成功)是真的。
有人可以告诉我这里出了什么问题。
提前致谢.. 这是我正在使用的代码
Ext.define('DBRec', {
extend: 'Ext.data.Model',
fields: [
{name:'A', type :'string'},
{name:'B', type:'string'},
{name:'C', type:'string'},
{name:'D', type:'string'},
{name:'E', type:'string'},
{name:'F', type:'string'},
{name:'G', type:'string'}
]
});
var DBRecStore=Ext.create('Ext.data.Store', {
model: 'DBRec',
proxy: {
type: 'ajax',
url : 'dbFunctions.cfc?method=getRec',
reader: {
type:'json',
root:'DATA',
fields: ['B', 'C', 'D', 'E', 'F', 'G']
}
}
});
function loadLimits()
{
DBRecStore.load({
params: {
reader: 'json',
returnFormat: 'JSON'
},
callback: function(response, options, success){
alert(DBRecStore.getCount());
if (DBRecStore.getCount() == '0') {
alert("no records found");
}
else
{
alert("records found");
console.log(response[0].DATA.B+" "+response[0].DATA.C);
}
}
});
}
答案 0 :(得分:0)
如果您没有使用自己的阅读器,我认为您没有,那么您的数据数组必须是对象数组,而不是数组数组。
{ "DATA":[{a:1.253,b: 0.54,c: 2.54,d:8.245,e:0,0.253}] }
你不需要在商店中定义字段,它已经在模型中了。