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