遇到了似乎是同源策略的问题,这引起了相当大的头痛!
切入主题,我本质上是在仅提供用户名时尝试获取用户的 steam64id。
例如,我的用户名:“Emperor_Jordan”我会转到:
http://steamcommunity.com/id/emperor_jordan?xml=1
我需要的 steamid 就在顶部。所以我想我会使用 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(同源政策)。
我是否以错误的方式处理这个问题,有解决方法吗?
Thanks!
正确的。You are遇到同源策略:
XMLHttpRequest cannot load http://steamcommunity.com/id/emperor_jordan/?xml=1. Origin http://fiddle.jshell.net is not allowed by Access-Control-Allow-Origin.
and Steam 似乎没有提供像 JSONP 这样的跨源解决方案。这意味着您又回到了古老但可靠的解决方案:在服务器上而不是在浏览器中获取数据。
关于 Steam Web API 的一些相关反馈:https://developer.valvesoftware.com/wiki/Steam_Web_API/Feedback#API_Considerations_for_Web_Developers
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)