Sencha Touch, загружающий XML-данные в List, выдает Javascript TypeError - PullRequest
0 голосов
/ 31 октября 2011

Я новичок в Sencha Touch Framework. Мне нужно загрузить некоторые данные из файла XML в List. Прямо сейчас я просто пытаюсь сделать приведенный в документации [http://docs.sencha.com/touch/1-1/#!/api/Ext.data.XmlReader](XMLReader пример].

Когда я пытаюсь запустить приведенный ниже код, я получаю сообщение об ошибке:

Javascript error on Line 7212 
sencha-touch-debug.js
TypeError: Result of expression 'records' [undefined] is not an object.

Код - index.js:

Ext.setup({
    onReady: function(){

        Ext.regModel('User1', {
            fields: ['id', 'name','email']
        });

        var temp = new Ext.data.Store({
            model: 'User',
            autoLoad:true,
            proxy: {
                type: 'ajax',
                url : 'users.xml',
                reader: {
                    type: 'xml',
                    record: 'user'
                }
            }
        });

        var list = new Ext.List({
            fullscreen: true,
            itemTpl : '{id} {name}',
            store: temp
        });
        list.show();
    }
});

users.xml

<?xml version="1.0" encoding="UTF-8"?>
<users>
  <user>
    <id>1</id>
    <name>Ed Spencer</name>
    <email>ed@sencha.com</email>
  </user>
  <user>
      <id>2</id>
      <name>Abe Elias</name>
      <email>abe@sencha.com</email>
  </user>
</users>

Я знаю, что это очень маленькая вещь, которую мне не хватает, но я не уверен, что это такое. Я попробовал решение , упомянутое в этом посте , но у меня оно не работает.

1 Ответ

1 голос
/ 19 декабря 2011

Я заметил, что вы не определили корневой узел файла XML.

var temp = new Ext.data.Store({
    model: 'User',
    autoLoad:true,
    proxy: {
        type: 'ajax',
        url : 'users.xml',
        reader: {
            type: 'xml',
            record: 'user',
            root: 'users'
        }
    }
});

Не уверен, что это единственное, попробуйте и дайте мне знать!

...