我正在尝试访问商店的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 here:http://jsfiddle.net/YXRdu/)
但我没有取得任何成功。我觉得这可能是由于相同的原始访问策略,但我真的不确定如何解决它。我有谷歌问题,但我不知道如何在我无法访问的远程服务器上实现cors。我知道url是有效的,当我在浏览器中输入它时,我得到了一个xml数据。
我真的不确定我做错了什么,任何帮助都会受到赞赏。
答案 0 :(得分:1)
检查服务器是否允许JSONP,它适用于跨域。如果没有,您将必须在服务器端(您自己的服务器)获取XML,然后您可以通过AJAX将其发送到Javascript。
答案 1 :(得分: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不被允许 访问控制允许来源。
您应该尝试使用服务器端方法。