2016-03-29 16 views
0

蒸気に関するゲーム情報が必要です。私は、APIを見つけ、私はそれが言う使用する場合:jsonp Uncaught SyntaxError:予期しないトークン:

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

あなたの例のURLがJSONPをサポートしているとは思いません。私は、JSON応答のこの種を参照してください。

{ 
    "key": "value" 
} 

をとJSONPのためにそれはする必要があります

callback({ key: value }) 

JSONPが何であるかについて、ここでいくつかの混乱があるかもしれません。 JSONPでは、APIがraw javascriptを提供する必要があります。それだけでなく、サーバーはという関数呼び出しをjavascriptで提供する必要があります。 JSONPは、クロスオリジンポリシーを巡るハックです。

編集: 解決策としては、独自のサーバー側アプリケーションを通じてJSONをプロキシすることをお勧めします。

関連する問題