-2

我正在尝试访问商店的 api 并取回 xml 响应,目前我正在使用 xmlhttprequest

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 数据。

我真的不确定我做错了什么,任何帮助将不胜感激。

4

2 回答 2

1

检查服务器是否允许跨域工作的 JSONP。如果没有,您必须在服务器端(您自己的服务器)获取 XML,然后您可以通过 AJAX 将其发送到 Javascript。

于 2013-03-08T00:15:50.057 回答
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。Access-Control-Allow-Origin 不允许来源http://fiddle.jshell.net 。

您应该尝试服务器端方法。

于 2013-03-08T00:24:11.563 回答