Sencha-touch 1.1: получение не может прочитать свойство 'длина' из неопределенного - PullRequest
0 голосов
/ 15 ноября 2011

Привет. Я пытаюсь прочитать данные JSON, но они продолжают показывать экран загрузки.Я пытаюсь загрузить свои данные в список с фотографиями и некоторой информацией.Работает со встроенными данными.Но когда я пытаюсь использовать JSON, это не работает.

Может кто-нибудь указать мне, что я сделал неправильно или забыл?Я никогда раньше не работал с JSON.

Мой файл .json:

    {
        "data": [
            {
                "name": "Shirt",
                "sizes": "S/M/L",
                "price": "19,95",
                "thumb": "shirt.jpeg"
            },
            {
                "name": "Vest",
                "sizes": "S/M/L",
                "price": "24,95",
                "thumb": "vest.jpeg"
            },
            {
                "name": "Knitted vest",
                "sizes": "S/M/L",
                "price": "29,95",
                "thumb": "knittedvest.jpeg"
            },
            {
                "name": "T-Shirt",
                "sizes": "S/M/L",
                "price": "9,95",
                "thumb": "tshirt.jpeg"
            },
            {
                "name": "Jacket",
                "sizes": "S/M/L",
                "price": "69,95",
                "thumb": "jacket.jpeg"
            },
            {
                "name": "Trui",
                "sizes": "S/M/L",
                "price": "29,95",
                "thumb": "trui.jpeg"
            },
            {
                "name": "Overhemd",
                "sizes": "S/M/L",
                "price": "29,95",
                "thumb": "overhemd.jpeg"
            },
            {
                "name": "Grandad",
                "sizes": "S/M/L",
                "price": "19,95",
                "thumb": "grandad.jpeg"
            }
        ]
    }

Мой model.js:

    Ext.regModel('Tops', {                          
        fields: [
            {name: 'name', type: 'string'},
            {name: 'sizes', type: 'string'},
            {name: 'price', type: 'string'},
            {name: 'thumb', type: 'string'},
            ]
    });

мой store.js:

    App.views.topwearstores = new Ext.data.Store({              
        model: 'Tops',
        autoLoad: true,
        proxy: {
            type: 'ajax',
            url: '/data/topwear_data.json',
            reader: {
                type: 'json',
                root: 'data'
            },  
        },
    });

my view.js:

    App.views.WishlistIndex = Ext.extend(Ext.Panel, {

            layout: 'fit',   
            items: {
                xtype: 'list',
                itemTpl:
                    '<tpl for".">'+
                    '<div id="Catalog_Itemimage"><img class="Catalog_Image" src="res/images/kleding/dude/{thumb}" height="75px" width="75px"/></div>'+ 
                    '<div id="Catalog_info">'+
                    '<div id="Catalog_name">{name}</div>'+
                    '<div id="Catalog_price">&#8364;{price}</div>'+
                    '<div id="Catalog_sizes">Sizes: {sizes}</div>'+
                    '</div>'+
                    '</tpl>',               
                store: App.views.topwearstores,

                singleSelect: true,
                itemSelector: 'div.Catalog_Info',
            },

    });
    Ext.reg('WishlistIndex', App.views.WishlistIndex);

1 Ответ

1 голос
/ 18 ноября 2011

Я тоже новичок в этом, и у меня была длина неопределенной ошибки несколько раз.

Ваш код мне подходит, но одна вещь, которая привела к этому в моем проекте, заключалась в том, что ссылки на различные файлы были в неправильном порядке в index.html.

...