我有一个关于 extjs 4 的问题。下面是我的 storeMsg
var storeMsg = this.getMessageStore();
storeMsg.load({
scope: this,
autoLoad: true,
params:{
read_conditions: Ext.JSON.encode({
"employee_rid": '7976',
"year" : '2013', //etos
"kind_holiday_rid" : '1',
"request_days" : '5'
})
},
callback: function(records, operation, success) {
// do something after the load finishes
console.log(records[0].get('remain'));
console.log(records[0].get('messages'));
}
});
我接受一个像这样的json响应
{"total":1,"success":true,"data":[{"status":"true","messages":"\u03a3\u03c9\u03c3\u03c4\u03cc \u03b1\u03af\u03c4\u03b7\u03bc\u03b1 \u03ac\u03b4\u03b5\u03b9\u03b1\u03c2","remain":"25"}]}
我想从 storeMsg.load() 之外的 json (ex true) 获取字段状态;例如
var vstatus = Ext.StoreMgr.lookup(storeMsg).data.items[0].data.status
但我收到消息,此 vstatus未定义
我已经更改了我的代码变量(vstatus): var vstatus = Ext.StoreMgr.lookup(storeMsg).getProxy().getReader(); 我正在接受和对象一样的类 名“Ext.data.reader.Json” ,它有一些属性。一个属性是
jsonData
data
remain 25
status true
message "Is correct"
total 1
success true
我给出 var vstatus = Ext.StoreMgr.lookup(storeMsg).getProxy().getReader().jsonData; 我接受了这个消息(未定义)。你知道如何从 jsonData.data.status = true; 获取值吗?tnx
下面是关于 store 、 proxy 和 reader 的完整代码
Ext.define('MHR.store.Message',{
extend : 'Ext.data.Store',
model : 'MHR.model.Message',
storeId : 'Message',
autoLoad : true,
proxy : {
type: 'ajax',
api: {
read : 'php/crud.php?action=check'
},
actionMethods: {
read : 'POST',
},
reader: {
type: 'json',
root: 'data',
rootProperty: 'data',
successProperty: 'success',
messageProperty: 'message'
},
extraParams : {
'read_conditions': ''
}
}
});