2011-09-25 112 views
0

拉XML我一直在試圖從如何獲取jQuery來從web服務

http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=USD&ToCurrency=GBP

得到的數據我希望能夠使用jQuery來提取數據,我試過$。阿賈克斯和甚至:

$.get('http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=USD&ToCurrency=GBP', function(data) { 
    console.log(data); 
}); 

它在我的瀏覽器(火狐)作爲一個url,但在jQuery中失敗。如何在不引發錯誤的情況下使用jQuery從Web服務提取貨幣匯率?

回答

4

由於瀏覽器中內置的same origin policy restriction,您不能發送AJAX請求到不同的域,而不是託管包含此javascript的頁面(我懷疑它不是http://www.webservicex.net)。要解決這個問題,你可以寫上你的域中的服務器端腳本將充當和遠處的域的域之間的橋樑,然後發送一個Ajax請求你的腳本:

$.get('/myscript?FromCurrency=USD&ToCurrency=GBP', function(data) { 
    console.log(data); 
}); 

服務器端腳本只是取兩個查詢字符串參數並將它們作爲HTTP請求發送到遠程域並返回結果。實現這個腳本的方式當然取決於你使用的服務器端語言。

另一種方法是使用JSONP,但這隻有在遠程域支持它時纔有效。如果不需要服務器端網橋。