我有一个关于extjs 4的问题。
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'));
}
});我的反应就像
{"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=,并且我接受和对象类似于className "Ext.data.reader.Json",并且它具有一些属性。属性是
jsonData
data
remain 25
status true
message "Is correct"
total 1
success true我给出了Ext.StoreMgr.lookup(storeMsg).getProxy().getReader().jsonData;的var vstatus =,并接受了这个消息(undefined).您知道如何从jsonData.data.status = true;tnx中获取值吗?
关于存储、代理和读取器的完整代码如下
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': ''
}
}
});发布于 2013-05-02 19:56:09
试着:
storeMsg.each(function(record) {
var status = record.get('status');
});https://stackoverflow.com/questions/16345652
复制相似问题