【问题标题】:sencha touch 2 how to read crossbrowser xml with jsonpsencha touch 2 如何使用 jsonp 读取跨浏览器 xml
【发布时间】:2012-11-05 01:30:06
【问题描述】:

我有点进退两难。我似乎无法找到如何使用 jsonp 从跨域站点将 xml 读取到我的列表中(因为仅当源位于同一域上时才使用 ajax)。

我与proxy:{ type:'jsonp', url:'http://www.aftonbladet.se/rss.xml',reader:{type:'xml',record:'item'}}建立联系

但在控制台中以“ Uncaught SyntaxError: Unexpected token

我有预感会创建某种回调,但仅此而已……我有点卡住了。

任何帮助将不胜感激

【问题讨论】:

    标签: xml extjs proxy sencha-touch-2 jsonp


    【解决方案1】:

    JSONP 不是 XML。 XML 不是 JSONP。您可以使用其中一个。

    Sencha Touch 中有一个 XML 阅读器。这可能就是你要找的东西:http://docs.sencha.com/touch/2-1/#!/api/Ext.data.reader.Xml

    Ext.define('User', {
        extend: 'Ext.data.Model',
        config: {
            fields: ['id', 'name', 'email']
        }
    });
    
    var store = Ext.create('Ext.data.Store', {
        model: 'User',
        proxy: {
            type: 'ajax',
            url : 'users.xml',
            reader: {
                type: 'xml',
                record: 'user'
            }
        }
    });
    

    【讨论】:

    • 这对我来说是令人困惑的部分。我现在他们不一样了。但是由于我连接到外部域而使用的代理实际上仍然可以是 ajax 吗?我已阅读您所指的页面,但他们仅在同一域中使用 xml。如果我连接代理类型:ajax 和阅读器类型:xml - 我收到此错误:XMLHttpRequest cannot load aftonbladet.se/…。 Access-Control-Allow-Origin 不允许来源127.0.0.1
    • Sencha Touch 不支持开箱即用的跨域 XML。
    • 感谢您的回答 rdougan。你说得很对。但最后我找到了一个解决方案,任何阅读这个帖子的人都遇到了和我一样的麻烦。这是一种解决方法:sencha.com/forum/showthread.php?12852-ScriptTagProxy-and-XML) 或查看 sencha kiva。
    猜你喜欢
    • 2012-05-05
    • 1970-01-01
    • 2012-09-02
    • 2012-05-21
    • 2012-09-05
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多