2012-03-16 15 views
0

我正在尋找一種方法來向JavaScript提出對XML服務的請求。沒有代理的JQuery跨域XML請求

其實我正在使用JQuery,我試圖使用這個插件:http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/,但它不適用於XML。

還有一種消費JSON的替代方法,即JSONP,但它不適用於XML。

每次我嘗試對其他網站的請求,使用XML數據,我得到的是這樣的:

Origin null is not allowed by Access-Control-Allow-Origin. 

其他的事情,我需要實現這一點沒有代理,只是解決它在客戶端側。

+0

我用的postMessage是iframe這種類型的東西。你沒有做什麼特別對發送/接收頭。postMessage的是IE8和其他所有現代瀏覽器兼容。 – 2012-03-16 16:42:43

+0

YQL是不是一個可能的解決方案。需要解決d在客戶端 – todotresde 2012-03-16 16:49:00

+0

我相信如果服務器不支持JSONP或CORS並且您無法訪問服務器,那麼沒有代理就無法執行此操作。事實上,如果您在** Related標題下查看此窗口右側的側邊欄,您會看到很多類似的問題。 – hippietrail 2012-03-16 17:40:19

回答

1

嗯,這似乎是不可能做到這一點時,數據是XML :(。

謝謝大家!

1

如果您可以訪問到服務器,它正好是apache的,那麼你可以嘗試添加到您的虛擬主機

Header add Access-Control-Allow-Origin "http://yourdomain.com" 
+0

感謝您的回覆。基本上,我沒有權限訪問駐留應用程序的服務器,以及我們使用服務的服務器。需要在客戶端解決。 – todotresde 2012-03-16 17:09:18

+0

@todotresde:如果你想要一個好的答案,你應該告訴我們儘可能多的細節問題。無論您是否有權訪問服務器,都是最重要的細節之一。 – hippietrail 2012-03-16 17:29:37

+0

是的,這就是爲什麼我使用iframe與postMessage進行通信的原因。 IE8下面不支持限制。 – 2012-03-16 17:31:21