0

我有一个关于 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': ''

           }
   }
 });
4

1 回答 1

1

尝试:

storeMsg.each(function(record) {
    var status = record.get('status');
});
于 2013-05-02T19:56:09.700 回答