0

私はJavascript、JQuery、JSONに慣れていないので、さまざまな間違いを犯している可能性がありますが、学ぶための最良の方法はすぐに飛び込むことでした。

私は、サイトelophant.comで提供されているAPIを使用して、主に練習用の小さなペットプロジェクトに取り組んでいます。人気のLeagueofLegendsゲームの統計を追跡するためのものです。ただし、jqueryを正しく機能させることができないようです。アクセスしようとしているリソースのAPIは次のとおりです:http://elophant.com/developers/docs/status

彼らのリクエスト例は次のとおりです。"GEThttp ://elophant.com/api/v1/status ?key= <key>" <key>フィールドは、サイトに登録すると提供されるキーです。JSONで情報を返します。

これが私がこれまでにやろうとしていることです:

<body>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

    <script>
    $.get("http://elophant.com/api/v1/status?key=MY_KEY_HERE", {callback : "?" }, "jsonp",  function(data) {
    $('#summary').text(data.result);
    });
    </script>
</body>

編集: JSONPを削除してプレーンJSONに置き換えたところ、次のコンソールエラーが発生しました:

XMLHttpRequest cannot load http://elophant.com/api/v1/status?key=MY_KEY_HERE&callback=%3F. Origin null is not allowed by Access-Control-Allow-Origin.
4

1 に答える 1

1

少なくとも、パラメーターの順序が間違っているようです。dataType は、次のようにコールバック関数の後にある必要があります。

$.get("http://elophant.com/api/v1/status?key=MY_KEY_HERE", {callback : "?" },  function(data) {
    $('#summary').text(data.result);
}, "jsonp");

また、その API ドキュメントには、JSONP コールバック関数での JSON のラッピングをサポートしていることを示すものは何もありません。これは利用可能ですか?

取得した応答が関数でラップされた JSON であることを確認することで、これをテストできます。それは次のようになります。

callback({key: "value", anotherKey: "another value"})
于 2012-11-30T17:08:40.020 に答える