Steam API使用Javascript获取SteamID

遇到了似乎是同源政策的问题,这引起了很多麻烦!

为了追赶,我基本上是在仅提供用户名时尝试获取用户的steam64id。

例如,我的用户名:“ Emperor_Jordan”将转到:

http://steamcommunity.com/id/emperor_jordan?xml=1

而我需要的小蒸汽就在顶部。所以我想我将使用JQuery

Ajax来获取它并解析出我以后需要使用的id(steamapi使用需要steam64id),如下所示。这是有问题的代码的片段:

$.ajax({

url: "http://steamcommunity.com/id/emperor_jordan/?xml=1",

datatype: "xml",

complete: function()

{

alert(this.url)

},

success: parse

});

function parse(xml)

{

alert("parsing");

_steamID = $(xml).find("steamID64").text();

}

这里的问题是,当我确实收到完成警报时,却从未看到“正在解析”。曾经 它永远不会收到该回调,这使我相信我正在遇到SOP(相同来源策略)。

我是否以错误的方式处理此问题,是否有解决方法?

谢谢!

回答:

正确。您 正在 运行同源策略:

XMLHttpRequest cannot load http://steamcommunity.com/id/emperor_jordan/?xml=1. Origin http://fiddle.jshell.net is not allowed by Access-Control-Allow-Origin.

而且似乎Steam没有提供像JSONP这样的跨域解决方案。这意味着您回到了旧的但可靠的解决方案:在服务器上而不是在浏览器中获取数据。


有关Steam Web

API的一些相关反馈:https

:

//developer.valvesoftware.com/wiki/Steam_Web_API/Feedback#API_Considerations_for_Web_Developers

以上是 Steam API使用Javascript获取SteamID 的全部内容, 来源链接: utcz.com/qa/432413.html

回到顶部