带原型的X-Domain XML Feed

时间:2012-05-24 12:22:18

标签: javascript prototypejs cross-domain

好的,原型不是我的选择,但客户端网站使用它,我必须适应。

我有来自网站A的XML Feed,我的功能是:

new Ajax.Request('somefeedurl.ashx',
{
    method:'get',
    onSuccess: function(transport){
        console.log("Transport: "+transport)
        myParseXml(transport.responseXML);
    },
    onFailure: function(){
        alert('Something went wrong...')
    }
});

我已经实现了一个crossdomain.xml文件以允许访问somefeedurl.com,但我仍然得到相同的Origin:Access-Control-Allow-Origin不允许这样做。

使用Prototype可以解决这个问题吗?

作为第二个问题。一旦我解决了这个问题,我是否正确运行myParseXML()函数来实际进行处理?即transport.responseXML将从feed提供XML数据吗?

的问候, 罗伯特

1 个答案:

答案 0 :(得分:0)

没有。如果提供XML Feed的其他站点不是explicitly allow cross-domain requests,则由于sop而无法使用Ajax直接检索它(任何“解决方法”都是安全漏洞。

无论您使用哪个库来包装ajax调用。

另请参阅XMLHTTPRequest的文档,onsuccess handler will be invoked。所以回答你的第二个问题:不,responseXML已被解析为文档。