Joh*_*Doe 3 javascript jquery jquery-ui spotify jquery-ui-autocomplete
我正在尝试使用jQuery UI自动完成功能来搜索spotify的音乐库.虽然一切顺利,但我确实得到了成功的答复:

没有下拉建议.例如,我正在搜索"时间",我想看到:
这是我的JavaScript代码:
<script>$(function() {$( "#spotify_song_search" ).autocomplete({source: function(request, response) {
$.get("http://ws.spotify.com/search/1/track.json", { q: request.term },function( data ) { alert(data); response(data);});
},success: function(data) {
// pass your data to the response callback
alert(data); response(data);
}});});</script>
Run Code Online (Sandbox Code Playgroud)
我一定做错了什么.我还在这里检查了jQuery文档:http://jqueryui.com/demos/autocomplete/但它没有给出任何解释为什么会发生这种情况.我添加了警报,看看我是否至少会得到一个响应,我这样做,但它只是返回[object Object].我需要做什么才能显示搜索结果?
错误: Uncaught SyntaxError: Unexpected token ILLEGAL在第417行:

自动完成小部件需要以非常特定的方式格式化数据,以便可以对其进行解析.您提供或传递给response回调的数组必须是:
(有关详细信息,请参阅"概述"/"预期数据格式"下的自动完成文档)
当您拥有无法更改的数据源时,执行此操作的典型方法是$.map将结果转换为自动完成所需的格式:
$("#spotify_song_search").autocomplete({
source: function(request, response) {
$.get("http://ws.spotify.com/search/1/track.json", {
q: request.term
}, function(data) {
response($.map(data.tracks, function (el) {
return el.name;
}));
});
}
});
Run Code Online (Sandbox Code Playgroud)
示例: http ://jsfiddle.net/ANmUs/(注意:这似乎不适用于Firefox;它可能是由于响应的大小.但它在Chrome中工作正常)
| 归档时间: |
|
| 查看次数: |
9300 次 |
| 最近记录: |