Sencha Touch JSONP Store Данные не отображаются на панели - PullRequest
1 голос
/ 15 июня 2011

У меня подключено мое приложение , как мне кажется, и когда я загружаю его в Chrome, консоль Javascript не выдает никаких ошибок. WebService, наконец, возвращает соответствующие данные, но по какой-то причине не могу понять, почему панель пуста.

Вот URL-адрес приложения
http://rpcm.infinitas.ws/

Вот URL-адрес WebService
http://rpc.infinitas.ws/Vimeo/Read?_dc=1308083451839&limit=25&callback=stcCallback1001

А вот и соответствующий код.

CONTROLLER

rpc.controllers.VimeoController = new Ext.Panel(
    rpc.views.Vimeo.index
);

VIEW

rpc.views.Vimeo.index = {
    id: 'VideoView',
    title: 'Videos',
    tpl: rpc.templates.VimeoTemplate,
    iconCls: 'tv',
    dockedItems: [{ xtype: 'toolbar', title: 'Videos'}],
    store: 'rpc.stores.VimeoStore'
};

STORE

rpc.stores.VimeoStore = new Ext.data.Store({
    id: 'VimeoStore',
    model: 'rpc.models.VimeoModel',
    proxy: {
        type: 'scripttag',
        url: WebService('Vimeo', 'Read'),
        method: 'GET',
        reader: {
            type: 'json',
            root: 'results'
        }
    },
    autoLoad: true
});

MODEL

rpc.models.VimeoModel = Ext.regModel('rpc.models.VimeoModel', {
    fields: [
        {name: 'id', type: 'int'},
        {name: 'title', type: 'string'}
    ]
});

ОБРАЗЕЦ

rpc.templates.VimeoTemplate = new Ext.XTemplate([
    '<tpl for=".">',
        '<div>',
            '{title}',
        '</div>',
    '</tpl>'
]);

JSON RESPONSE

stcCallback1001 ({"results": [{"id": 25036464, "title": "Сила отказавшейся жизни: прощальная проповедь"}, {"id": 25036610, "title": "посвящение детей, июнь" 2011 "}, {" id ": 24734142," title ":" Сила отказавшейся жизни: соединение "}, {" id ": 24884833," title ":" Обновление финансов за июнь 2011 "}}, {" id ": 24587711, "title": "Папуа, Индонезия, май 2011 г."}, {"id": 24232427, "title": "ICHTHUS: Coming King"}, {"id": 23868560, "title": "ICHTHUS: Healer "}, {" id ": 23486615," title ":" ICHTHUS: Sanctifier "}, {" id ": 23211649," title ":" ICHTHUS: Savior "}, {" id ": 23867961," title ": "Elder Announcement re: Brent Trask"}, {"id": 22998163, "title": "Триумф благодати: воскресший лорд"}, {"id": 23687914, "title": "Triumph Grace: правящий король" }, {"id": 23692076, "title": "КОРОЛЕВСТВО сейчас: ибо Твое есть Царство"}, {"id": 23694183, "title": "КОРОЛЕВСТВО сейчас: избавь нас от лукавого"}], "success «: истинно});

Любая помощь или направление будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 15 июня 2011

Пример ответа, который вы предоставили, выглядит как JSONP вместо обычного JSON.Вы, вероятно, хотите Ext.data.proxy.JsonP .

Чтобы использовать это, вы можете изменить свой магазин так:

rpc.stores.VimeoStore = new Ext.data.Store({
    id: 'VimeoStore',
    model: 'rpc.models.VimeoModel',
    proxy: {
        type: 'jsonp',
        url: WebService('Vimeo', 'Read'),
        reader: {
            type: 'json',
            root: 'results'
        }
    },
    autoLoad: true
});

Удачитебе!

0 голосов
/ 08 ноября 2011

убрать '' из вида.
напишите это:

store: rpc.stores.VimeoStore

...