从丁尼生那里得到歌曲

getting songs from tinysong

本文关键字:丁尼生 那里      更新时间:2023-09-26

我不想通过tinysong API获取歌曲列表,该API从Grooveshark获取歌曲列表。我通过$.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&amp_=1344209008523".

然而,如果我去那个网址,我会得到这样打印出来的结果:

[{"Url":"http://tinysong.com/Aoxo","SongID":25802452,"Song Name":"A大调第7交响曲,作品92:Allegretto","ArtistID":1833,"Artist Name":"贝多芬","专辑ID":4497124,"专辑名称":"贝多芬:9交响曲,Ouvert''u00fcren(共6首),Berstein,Leonard"},{"Url":"http://tinysong.com/jh4X","SongID":2909282,"Song Name":"降E大调第5钢琴协奏曲op.73‘Emperor‘","ArtistID":1833,"Artist Name":"贝多芬","专辑ID":268605,"专辑名称":"贝多芬的最佳作品"},{"Url":"http://tinysong.com/JhLy","SongID:31825464,"SongName":"贝多芬:F小调第23钢琴奏鸣曲,作品57,''"Appassionata","ArtistID":1833,"Artist Name":"贝多芬","专辑ID:4913792,"专辑名":"Beethoven‘s Greatest Hits"},{"Url":"http://tinysong.com/6Jk1","歌曲ID":4925300,"歌曲名称":"贝多芬#4:柔板","艺术家ID":1833,"艺术家名称":"贝多芬","专辑ID":842118,"专辑名称":;4"},{"Url":"http://tinysong.com/gGW0","SongID":11896153,"SonyName":"F''u00fcr Elise","ArtistID":1833,"Artist Name":"Beethoven","AlbumID":2087629,"Album Name":"Beethoven and the Sea"}]

如何将这些信息传递给我的javascript?

您收到的"错误"只是一个警告。Tinysong使用错误的内容类型("text/html")传输JSON响应。你可以用curl来验证这一点,例如:

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

你的脚本不起作用的原因和问题的解决方案可以在这个答案中找到(也请阅读评论)。

也许您应该联系Tinysong,报告有关内容类型的错误,并请求JSONP支持。