Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.07.2012, 21:41
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

Ext.data.Record.create - Uncaught TypeError: Cannot read property 'items' of undefine
Добрый вечер !
Юзаю: ext-4.0.7.
Задача:
Есть на ФормПанели несколько КомбоБоксов, хочу одним запросом к серверу вытянуть все данные для этих КомбоБоксов.
Как делать: ТЫЦЬ
Проблема: Сразу же на первой строчке кода:
//Создаем record. Пригодится для "читателя" хранилища.
dsDataRecord = new Ext.data.Record.create([ // или dsDataRecord = Ext.data.Record.create
   //Пишем название свойства и мапим его
   //на второй элемент массива пришедших данных
   {name : 'data_key', mapping : 1},
   {name : 'data_name', mapping: 2}
]);

Что-то не так с Ext.data.Record.create, получаю в Хроме исключение:
1) Если БЕЗ "new"
Код:
   Uncaught TypeError: Cannot read property 'items' of undefined
2) Если с "new"
Код:
   Uncaught TypeError: Object [object Object] has no method 'substring'
Подскажите, пожалуйста )))

П.С. в статье речь шла о " ... речь пойдет о второй версии ..." Экса ...
Ответить с цитированием
  #2 (permalink)  
Старый 01.07.2012, 22:59
Профессор
Отправить личное сообщение для potkin Посмотреть профиль Найти все сообщения от potkin
 
Регистрация: 23.08.2008
Сообщений: 162

Ext.data.Record
or
Ext.data.Model

Вместо
Ext.data.Record.create
Ответить с цитированием
  #3 (permalink)  
Старый 01.07.2012, 23:29
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Насколько я знаю Ext.data.record это старое название Ext.data.Model, как минимум с 4й версии

Combobox работает со сторе а не с моделями,выходит что и модели нам объявлять не очень то и нужно.
Значит если я правильно понял то должно получится что-то вроде.
// внимание это псевдокод
Ext.Ajax.request({
            url: "test.json",
            params: {
                id: 1// какойнибудь параметр передадим вместе с запросом (если надо конечно)
            },
            success: function(response){
                 ajax=Ext.JSON.decode(response.responseText); 

                //создадим первый store (сторе можно было создать и в другом месте а данные установить loadData)              
                ds1=Ext.create('Ext.data.Store', {
                        fields: ['id', 'name'], //модели нафик ненужны
                        data : ajax.data1
                });

                //создадим второй store (сторе можно было создать и в другом месте а данные установить loadData)
                ds2=Ext.create('Ext.data.Store', {
                        fields: ['id', 'test'], //модели нафик ненужны 
                        data : ajax.data2
                });
            }
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 02.07.2012 в 00:06.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cannot read property 'items' of undefined khusamov ExtJS 0 11.05.2012 04:33
JavaScript error: Cannot read property 'style' of null mainne Javascript под браузер 4 03.03.2012 18:15
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34