我希望在Steam上看到一些游戏信息。我找到了api,但是当我用它时说:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
另外,我使用json p 但是它会抛出一个错误:
Uncaught SyntaxError: Unexpected token :
我的代码如下:
$.ajax({
//crossDomain: 'true',
url: 'http://store.steampowered.com/api/appdetails/?appids=730',
//url: 'http://api.steampowered.com/ISteamApps/GetAppList/v0001/',
//url:'http://store.steampowered.com/api/appdetails/?appids=730',
//url:'games.json',
type: 'get',
dataType:'jsonp',
//dataType:'json',
//data = JSON.parse(data);
crossDomain : true,
success:function(data){
console.log(data);
},
error:function(data){
console.log("Hata ",data);
}
});
我使用anyorigin.com但它不起作用。当我使用本地.json文件工作时,我需要蒸汽。
答案 0 :(得分:0)
我认为您示例中的URL不支持JSONP。我看到了这种JSON响应:
{
"key": "value"
}
对于JSONP,它必须是:
callback({ key: value })
这里可能存在一些关于JSONP是什么的混淆。 JSONP要求API提供原始javascript。不仅如此,服务器必须在该javascript中提供特定的函数调用。 JSONP是一个关于跨源策略的黑客攻击。
编辑: 至于解决方案,我建议您通过自己的服务器端应用程序代理JSON。