jsonp Uncaught SyntaxError:意外的令牌:

时间:2016-03-29 22:35:37

标签: javascript jquery json jsonp

我希望在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文件工作时,我需要蒸汽。

1 个答案:

答案 0 :(得分:0)

我认为您示例中的URL不支持JSONP。我看到了这种JSON响应:

{
  "key": "value"
}

对于JSONP,它必须是:

callback({ key: value })

这里可能存在一些关于JSONP是什么的混淆。 JSONP要求API提供原始javascript。不仅如此,服务器必须在该javascript中提供特定的函数调用。 JSONP是一个关于跨源策略的黑客攻击。

编辑: 至于解决方案,我建议您通过自己的服务器端应用程序代理JSON。