2012-05-24 47 views
0

好吧,所以Prototype不会是我的选择,但客户端网站使用它,我必须适应。X-Domain XML Feed with Prototype

我有一个XML饲料从站点A未来通过我的功能是:

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但我仍然得到同样的原产地: Access-Control-Allow-Origin不允许。

任何使用Prototype的方法?

作为第二个问题。一旦我解决了这个问题,我正确地运行函数myParseXML()来实际执行处理? iee是transport.responseXML将从饲料中提供XML数据?

问候, 罗伯特

回答

0

号如果提供XML提要其他网站没有explicitly allow cross-domain requests,你无法恢复使用Ajax由于sop(直接) - 任何“解决办法”将是一个安全错误。

无论库的使用包你在AJAX调用。

又见了XMLHTTPRequest文档,与该onsuccess handler will be invoked。所以要回答你的第二个问题:不,responseXML已经解析为文档。

+0

我在浏览器中直接输入提要URL的方式与从另一个域请求提供的URL不同。对不起n00b的问题,但我不太熟悉跨域的东西,更喜欢在现场生成我的XML,但在这种情况下不可能。 – rmccallum

+0

是的。您需要从您的站点获取XML,即将代理请求与您的服务器进行代理。 – Bergi

+0

因此,只使用本地XML与原型解析有多容易?用googling很多,但找不到像jQuery parseXML那么简单? – rmccallum