次のコードを使用して、データベースから日付値と整数値を取得しようとしています。
var l_alsChampsMois, l_stoDonneesMois;
try {
l_alsChampsMois = [
{name: "date_mois", type: "date", dateFormat: "Y-m-d"},
{name: "indice", type: "integer"}
];
l_stoDonneesMois = new Ext.data.JsonStore({
fields: l_alsChampsMois,
autoLoad: false,
proxy: {
type: "ajax",
url: "/commun/req_sql/req_ind_per_mois.php",
reader: {
type: "json",
root: "rows"
},
// some configs to use jsFiddle echo service (you will remove them)
actionMethods: {
read: "POST"
},
extraParams: {
key:"test"
}
},
listeners: {
load: function(objStore, alsLignes, blnOk, objOptions) {
window.alert("Mois fin : " + objStore.getAt(0).get("date_mois"));
}
}
});
l_stoDonneesMois.load({params: {
p_idsoc: l_strIdSociete,
p_mois: l_datDebut.getMonth() + 1,
// getMonth renvoie 0 pour janvier, etc.
p_annee: l_datDebut.getFullYear(),
p_debut: 1,
p_etape: 1
}
});
l_strIdSociete と l_datDebut は以前に割り当てられた変数であり、/commun/req_sql/req_ind_per_mois.php はデータを取得して JSON に変換する PHP ページです。
それは正常に動作しているようです (実際、Firebug は、ロードが期待する値を含む "date_mois" と "indice" を含むデータ構造を取得することを教えてくれます)、window.alert のみが undefined を返します。「date_mois」を「indice」に置き換えると、「indice」の期待値が返されます。
objStore.getAt(0).getData()["date_mois"] を使用しようとしましたが、役に立ちませんでした。
これに関する私の唯一の手がかりは、Firebug によって示されるデータ構造の「date_mois」がオブジェクトであることですが、それでも未定義であってはなりません。私はhttp://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Field-cfg-typeを調べましたが、これは正確な答えではありませんでした。
それで、私はそこで何を間違えましたか?