2013-03-08 65 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