我一直在試圖檢索日期值,並從數據庫中一個整數值,使用下面的代碼:如何從ExtJS JSonStore訪問日期類型字段?
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,這個答案並不完全正確。
那麼我在那裏做錯了什麼?
你可以做objStore.getAt(0)的轉儲嗎?然後查看** raw **字段以確保您確實獲得了所需的數據。 – Damask
有趣的問題。昨天Firebug不會出於某種原因調試,所以我不得不使用多個window.alert()消息(但我沒有想到** raw **字段)。足夠漫長,** raw **字段有: 對象{ date_mois = {date =「2012-11-30 00:00:00」,timezone_type = 3,timezone =「UTC」}, indice =「23 「 } 所以它似乎需要的數據在那裏。 –
也許我錯了,但您認爲ext js可以將您的日期識別爲3個字段的對象嗎?我從來沒有見過這個。發送時間爲unix時間戳,無論如何它都可以工作。 – Damask