1

AngularJSを使用してSpotify メタデータ APIをクエリしようとしていますが、次のエラーが発生し続けます。

Uncaught SyntaxError: Unexpected token : 

通常、クエリを実行するときにクエリ文字列として追加する必要があることはわかっcallback=JSON_CALLBACKていますが、この場合は機能しません。戻り値:

Failed to load resource: the server responded with a status of 400 (Bad Request)

を使用して$http.jsonp()います。

コールバックなしの例| コールバックの例

それで、純粋なJavascriptを使用してこれを回避する方法はありますか、それともサーバー側のラッパーを追加するのが最善ですか?

4

1 に答える 1

4

Spotify が jsonp サポートを提供しているようには見えませんが、CORS をサポートしているので、これはうまくいくはずです:

function spotify_api($http) {
    var url = "http://ws.spotify.com/lookup/1/.json?uri=spotify:track:5PJSqY8jbYzr4a6dl5Ory1";
    //CORS support
    delete $http.defaults.headers.common['X-Requested-With'];

    $http.get(url).success(function(data) {
        console.log(data);
    });
}

私の更新を参照してください: http://jsfiddle.net/69kYH/

悪いニュースは、古いバージョンの IE では CORS が angular で適切に機能しないように見えることです - AngularJS - Calling Flickr API fails with warning message を参照してください

于 2013-05-22T18:07:36.400 に答える