1

我已经按照我认为应该的方式连接了我的WebService 终于返回了适当的数据,但由于某种原因,我终生无法弄清楚面板为什么是空白的。

这是APP URL
http://rpcm.infinitas.ws/

这是 Web 服务 URL
http://rpc.infinitas.ws/Vimeo/Read?_dc=1308083451839&limit=25&callback=stcCallback1001

这是一些相关的代码。

控制器

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

看法

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

店铺

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
});

模型

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响应

stcCallback1001({"results":[{"id":25036464,"title":"放弃生命的力量:告别讲道"},{"id":25036610,"title":"2011 年 6 月儿童奉献"} ,{"id":24734142,"title":"放弃生命的力量:连接"},{"id":24884833,"title":"2011 年 6 月财务更新"},{"id":24587711," title":"印度尼西亚巴布亚分享 2011 年 5 月"},{"id":24232427,"title":"ICHTHUS: Coming King"},{"id":23868560,"title":"ICHTHUS: Healer"}, {"id":23486615,"title":"ICHTHUS: Sanctifier"},{"id":23211649,"title":"ICHTHUS: Saviour"},{"id":23867961,"title":"Elder Announcement re: Brent Trask"},{"id":22998163,"title":"恩典的胜利:复活的主"},{"id":23687914,"title":"恩典的胜利:在位之王"} ,{"id":23692076,"title":"KINGDOM now: For Your Is The Kingdom"},{"id":23694183,"title":"KINGDOM now: Deliver Us From Evil"}],"success" :真的});

任何帮助或指导将不胜感激。

4

2 回答 2

2

您提供的示例响应看起来像 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
});

祝你好运!

于 2011-06-15T04:34:18.367 回答
0

''从视图中删除。
像这样写:

存储:rpc.stores.VimeoStore

于 2011-11-08T08:00:22.690 回答