Загрузка данных в JsonStore - PullRequest
       5

Загрузка данных в JsonStore

1 голос
/ 24 октября 2010

Я пытаюсь получить простые данные в JsonStore, но, похоже, это не работает. Код почти такой же, как примеры:

var itemListStore = new Ext.data.JsonStore({
   url: '/items/list',
   root: 'items',
   fields: [
      {name: 'id', type: 'string'},
      {name: 'name', type: 'string'},
   ]
});
itemListStore.load(); 
...
      items: [
      {
         xtype: 'listview',
         store: itemListStore,
         columnResize: false,
         flex: 1,
         columns: [
            {header: 'ID', dataIndex: 'id'},
            {header: 'Name', dataIndex: 'name'},
         ]
      }
...

К сожалению, это не работает. Таблица загружается без строк, и количество в хранилище равно 68 (как возвращено сервером, получено через listview.getStore().getCount()). Если я заменю JsonStore на ArrayStore и некоторые статические данные, я смогу их увидеть.

Результат от /items/list просто:

{"items":
    [{"id": "a", "name": "Some name"},
    {"id": "b", "name": "Some other name"}]
}

Как мне это исправить? Как мне вообще отладить это?

Редактировать: обновлена ​​информация о количестве записей

1 Ответ

2 голосов
/ 24 октября 2010

вы можете попробовать в таком магазине:

            store: objPlanManagerStore = new Ext.data.Store({
                autoLoad: true,
                proxy: new Ext.data.HttpProxy({
                    url: '/your/url',
                    method: 'POST'
                }),
                reader: new Ext.data.JsonReader({
                    root: 'plans',
                    id: 'id',
                    fields: ['id', 'name', 'descr', 'tname', 'type', 'recurring']
                }),
                listeners: {
                    loadexception: function() {
                        Ext.Msg.alert('Title', 'msg');
                    }
                }
            });

(только что вставленный из моего кода)

edit: если подумать, магазин, похоже, не проблема.

...