0

Groovesharkから取得するtinysongAPIを介して曲のリストを取得したくないのですが$.ajax、これまでのところ、これを取得しています。

$.ajax({
    url : 'http://tinysong.com/s/Beethoven?format=json&key='+key,
    type : 'get',
    dataType : 'jsonp',
    succes : function(response){
        console.log(response);
        $('.content').append(response);
    },
    error: function(error){
        console.warn('ERROR');
        console.warn(error);
    }
});

彼らが私に割り当てkeyたAPIキーです。次のエラーが発生します:

リソースはスクリプトとして解釈されますが、MIMEタイプtext / htmlで転送されます:"http://tinysong.com/s/Beethoven?format=json&key=HERE_IS_MY_KEY&callback=jQuery172021696692402474582_1344209008518&_=1344209008523"。

ただし、そのURLにアクセスすると、次のように結果が出力されます。

[{"Url": "http://tinysong.com/Aoxo"、 "SongID":25802452、 "SongName": "Symphony No. 7 in A major、Op。92:Allegretto"、 "ArtistID":1833、 "ArtistName": "Beethoven"、 "AlbumID":4497124、 "AlbumName": "Beethoven:9 Symphonien、Ouvert \ u00fcren(1 of 6)、Berstein、Leonard"}、{"Url": "http:// tinysong .com / jh4X "、" SongID ":2909282、" SongName ":" Piano Concerto No. 5 in E flatmajorop。73'Emperor'"、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":268605、" AlbumName ":" The Best Of Beethoven "}、{" Url ":" http://tinysong.com/JhLy "、" SongID ":31825464、" SongName ":"ベートーベン:ピアノソナタ#23 Fマイナー、作品57、\ "Appassionata \ ""、 "ArtistID":1833、 "ArtistName": "Beethoven"、 "AlbumID":4913792、 "AlbumName": "Beethoven's Greatest Hits"}、{"Url": "http://tinysong.com/ 6Jk1 "、" SongID ":4925300、" SongName ":"ベートーベン#4:アダージョ "、" ArtistID ":1833、" ArtistName ":"ベートーベン "、" AlbumID ":842118、"アルバム名 ":"ベートーベン:交響曲第4番.7&4 "}、{" Url ":" http://tinysong.com/gGW0"、" SongID ":11896153、" SongName ":" F \ u00fcr Elise "、" ArtistID ":1833、" ArtistName " :"ベートーベン"、 "アルバムID":2087629、 "アルバム名":"ベートーベンと海"}]"Beethoven"、 "AlbumID":4913792、 "AlbumName": "Beethoven's Greatest Hits"}、{"Url": "http://tinysong.com/6Jk1"、 "SongID":4925300、 "SongName": "Beethoven #4:アダージョ "、" ArtistID ":1833、" ArtistName ":"ベートーベン "、"アルバムID ":842118、"アルバム名 ":"ベートーベン:交響曲第7番と第4番 "}、{" Url ":" http: //tinysong.com/gGW0","SongID":11896153,"SongName":"F\u00fcr Elise "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":2087629、" AlbumName ": 「ベートーベンと海」}]"Beethoven"、 "AlbumID":4913792、 "AlbumName": "Beethoven's Greatest Hits"}、{"Url": "http://tinysong.com/6Jk1"、 "SongID":4925300、 "SongName": "Beethoven #4:アダージョ "、" ArtistID ":1833、" ArtistName ":"ベートーベン "、"アルバムID ":842118、"アルバム名 ":"ベートーベン:交響曲第7番と第4番 "}、{" Url ":" http: //tinysong.com/gGW0","SongID":11896153,"SongName":"F\u00fcr Elise "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":2087629、" AlbumName ": 「ベートーベンと海」}]com / 6Jk1 "、" SongID ":4925300、" SongName ":" Beethoven#4:Adagio "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":842118、" AlbumName ":" Beethoven:交響曲第7番と第4番"}、{" URL ":" http://tinysong.com/gGW0"、" SongID ":11896153、" SongName ":" F \ u00fcr Elise "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":2087629、" AlbumName ":"ベートーベンと海 "}]com / 6Jk1 "、" SongID ":4925300、" SongName ":" Beethoven#4:Adagio "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":842118、" AlbumName ":" Beethoven:交響曲第7番と第4番"}、{" URL ":" http://tinysong.com/gGW0"、" SongID ":11896153、" SongName ":" F \ u00fcr Elise "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":2087629、" AlbumName ":"ベートーベンと海 "}]com / gGW0 "、" SongID ":11896153、" SongName ":" F \ u00fcr Elise "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":2087629、" AlbumName ":" Beethoven and the海"}]com / gGW0 "、" SongID ":11896153、" SongName ":" F \ u00fcr Elise "、" ArtistID ":1833、" ArtistName ":" Beethoven "、" AlbumID ":2087629、" AlbumName ":" Beethoven and the海"}]

この情報をJavaScriptに渡すにはどうすればよいですか?

4

1 に答える 1

4

発生する「エラー」は単なる警告です。Tinysongは、間違ったコンテンツタイプ( "text / html")でJSON応答を転送します。これはcurlで確認できます。例:

curl --head http://tinysong.com/s/Beethoven\?format\=json\&key\=<your key>

スクリプトが機能しない理由の説明と問題の解決策は、この回答にあります(コメントもお読みください)。

たぶん、Tinysongに連絡して、コンテンツタイプに関するバグを報告し、JSONPサポートを依頼する必要があります。

于 2012-08-06T02:45:17.497 に答える