1

データベースから返されたjsonから値を読み取ろうとしています。しかし、私にはそれができません。その提供は未定義です。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 が指定されます。alert(response[0].get('B')); を試しました これも未定義です。alert(success) は真を与えています。

誰かがここで何がうまくいかないのか教えてください。

前もって感謝します..これが私が使用しているコードです

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);
   }
 }
 });

}
4

1 に答える 1

0

独自のリーダーを使用していない場合は、データ配列は配列の配列ではなく、オブジェクト配列である必要があります。

{ "DATA":[{a:1.253,b: 0.54,c: 2.54,d:8.245,e:0,0.253}] }

また、ストアでフィールドを定義する必要はありません。すでにモデルに含まれています。

于 2012-12-03T06:07:54.593 に答える