2012-05-24 91 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