2013-03-08 70 views
-2

我試圖訪問商店的API,並取回一個XML響應,目前我使用一個XMLHttpRequest我如何使用jquery對將返回xml的url進行獲取請求?

function GetInfo() 
{ 
    var xmlHttp = null; 

    xmlHttp = new XMLHttpRequest(); 
    xmlHttp.open("GET", "http://partner.tcgplayer.com/x2/phl.asmx/p?pk=TCGTEST&s=New Phyrexia&p=Flameborn Viron", false); 
    xmlHttp.send(null); 
    alert(xmlHttp.responseText); 


} 

(這裏的jsfiddle:http://jsfiddle.net/YXRdu/

但我沒有任何成功。我覺得這可能是由於相同的原產地訪問策略,但我真的不確定如何解決此問題。我有谷歌的問題,但我不知道我如何可以在我無法訪問的遠程服務器上實現cors。我知道url是有效的,當我在瀏覽器中輸入它時,我得到一個xml數據。

我真的不確定我做錯了什麼,任何援助將不勝感激。

回答

1

檢查服務器是否允許跨域運行JSONP。如果沒有,您必須在服務器端(您自己的服務器上)獲取XML,然後通過AJAX將其發送給Javascript。

+0

我試過使用ajax ....失敗的原因與xml請求...相同的原點策略錯誤 – Pseudonym 2013-03-08 00:18:43

+0

沒關係我誤讀了 – Pseudonym 2013-03-08 00:19:20

+0

嗯$ .getjson沒有工作......任何其他想法? – Pseudonym 2013-03-08 00:23:06

1
function GetInfo() 
{ 
    var test = $('#cardname').val(); 

    var jqxhr = $.get('http://partner.tcgplayer.com/x2/phl.asmx/p?pk=TCGTEST&s=New%20Phyrexia&p=Flameborn%20Viron', function(data) { 
alert(data); 

}).done(function() { alert("second success"); }) 
.fail(function() { alert("error"); }) 
.always(function() { alert("finished"); }); 
} 




GetInfo(); 

有一個跨域問題:

的XMLHttpRequest無法加載 http://partner.tcgplayer.com/x2/phl.asmx/p?pk=TCGTEST&s=New%20Phyrexia&p=Flameborn%20Viron。 來源http://fiddle.jshell.net不允許通過 訪問控制允許來源。

您應該嘗試服務器端方法。

+0

yeah可能也會這樣 – Pseudonym 2013-03-08 00:25:56