javascript - Steam API 使用 Javascript 获取 SteamID

标签 javascript jquery ajax steam

一直遇到似乎是同源策略的问题,这引起了相当大的麻烦!

切入正题,我实质上是在仅提供用户名时尝试获取用户的 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(同源策略)。

我是不是以错误的方式处理这个问题,有解决方法吗?

谢谢!

最佳答案

正确。 You are running into the same-origin policy:

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

it looks like Steam does not offer a cross-origin solution like JSONP .这意味着您又回到了老式但可靠的解决方案:在您的服务器上获取数据,而不是在浏览器中。


有关 Steam Web API 的一些相关反馈:https://developer.valvesoftware.com/wiki/Steam_Web_API/Feedback#API_Considerations_for_Web_Developers

关于javascript - Steam API 使用 Javascript 获取 SteamID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13150879/

相关文章:

javascript - lodash 中的 groupBy 计数

javascript - meteor JS : Input value in a table is displayed twice

javascript - 网页源码标注工具

javascript - 环回 jQuery AJAX 请求

javascript - 使用 jQuery 选择出现多次的类

javascript - JQuery - 追加从 $ ('select' ) 到 $ ('input' ) 对象

javascript - 在 Angular js 中使用自定义服务发布请求时发生内部服务器错误

jquery行悬停和单击事件

jQuery addClass 方法链接以执行 CSS 转换

javascript - 与未定义相比,类型错误 - 数据为空