У меня загружен json-магазин, мне нужно взять с него одну запись. Я использовал: getAt(index)
, find()
, getById()
, но никаких результатов. Это мой код:Получить записи из json store extjs
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();
Этот код возврат неопределенный:
console.log(appSettingStore.getAt(0));
console.log(appSettingStore.find("id","1"));
Это строка JSON возвращается с сервера:
{success:true,"results":[{"id":"1","projetId":"1","resLevels":"1","maxResToLock":"40","maxTimeToLock":"10","infosToPrint":"1_2_3_5","hotlineMail":"[email protected]"}]}
Я также проверил этот код:
var records = new Array()
var test = appSettingStore.each(function(rec){
records.push(rec)
})
console.log(records)
и я получаю пустой массив!
PS: Этот магазин не связан никаким компонентом; Я просто хочу читать и писать.
Я заметил одну проблему, которая у вас будет. В объекте полей JsonReader вы объявляете поле под названием «idProjet», но ваш сервер возвращает «projetId». Убедитесь, что они соответствуют желаемым результатам. – McStretch
было ошибкой проблема не решена, я получаю магазин в порядке, я испытал с сеткой, в которой он работает! я все еще не могу использовать find() или любую функцию фильтра – cranberies
В чем была проблема, из любопытства? – timdev