如何从另一个域加载xml数据

时间:2012-02-16 14:23:50

标签: javascript ajax sencha-touch

我需要从另一个域的服务加载一些xml数据。如果我使用ajax请求,我会得到“Access-Control-Allow-Origin不允许使用Origin null”。 我尝试使用带有脚本标记代理和xml阅读器的Store,但是我得到了Uncaught SyntaxError:Unexpected token< v

var myStore = new Ext.data.Store({
        model: 'myModel',
        proxy: {
            type: 'scripttag',
            url : url,
            reader: {
                type: 'xml',
                root: 'users'
            }
        },
        autoLoad: true
    });

问题:如何使用sencha或其他javascript库从另一个域加载xml数据。

1 个答案:

答案 0 :(得分:1)

1)如果您有权访问后端,您可以启用跨源资源共享(CORS): how to do it。它将允许您从另一个域获取xml数据。

2)如果没有,你可以使用YQL(但它看起来像脏黑客):here

3)无论如何,当你在移动设备上运行你的应用程序时,这个问题就会消失。

4)如果您想找到在桌面浏览器上测试应用程序的解决方案,我建议您使用chrome。因为有一种方法可以禁用此安全限制:

chrome.exe --disable-web-security

5)最后一个提示是找到JSON服务,因为JSONP请求没有这样的问题。