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