Get entries from json store extjs

I have a json store loaded, I need to take one entry from it. I used: getAt(index), find(), getById(), but the results were not. This is my code:

var appSettingReader = new Ext.data.JsonReader({     
                root: 'results',
              },[
                {name: 'id', type: 'int', mapping: 'id'},
                {name: 'projetId', type: 'int', mapping: 'projetId'},
                {name: 'resLevels', type: 'int', mapping: 'resLevels'},
                {name: 'maxResToLock',  type: 'int', mapping: 'maxResToLock'},
                {name: 'maxTimeToLock', type: 'int', mapping: 'maxTimeToLock'},
                {name: 'infosToPrint', type: 'string', mapping: 'infosToPrint'}
              ])

var appSettingStore = new Ext.data.Store({
                proxy: new Ext.data.HttpProxy({
                        url: 'inc/getSettings.php',
                        method: 'POST'
                    }),
                baseParams:{task: "app"}, 
                reader : appSettingReader,
                sortInfo:{field: 'id', direction: "DESC"}
               })

appSettingStore.load(); 

This code returns undefined:

console.log(appSettingStore.getAt(0));

console.log(appSettingStore.find("id","1")); 

This is the json string returned from the server:

{success:true,"results":[{"id":"1","projetId":"1","resLevels":"1","maxResToLock":"40","maxTimeToLock":"10","infosToPrint":"1_2_3_5","hotlineMail":"admin@app.com"}]}

I also checked this code:

var records = new Array()       
var test = appSettingStore.each(function(rec){
            records.push(rec)
         })
console.log(records)

and I get an empty array!

PS: this store is not tied to any component; I just want to read and write.

+3
source share
2 answers

You need to put the callback in the store, which will be launched after it is downloaded. Then you can use the data as needed.

store.load({
    callback : function(r, options, success) {
        console.log(r.data)
    }
})
+7
source

, JSON. script "("?

, , . .

: , , json . "success" .

, . .load() , . , .

+1

Source: https://habr.com/ru/post/1772298/


All Articles