【发布时间】:2012-06-09 01:01:13
【问题描述】:
我正在尝试使用 jQuery UI 自动完成功能来搜索 spotify 的音乐库。虽然一切顺利,但我确实得到了成功的回应:
没有下拉建议。例如,我正在搜索“时间”,我想查看:
- Time,作者 Hans Zimmer
- 回到时间,Pitbull
- 大时间拉什
等等。这是我的 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>
我一定是做错了什么。我还在这里查看了 jQuery 文档:http://jqueryui.com/demos/autocomplete/,但它没有给出任何解释为什么会发生这种情况。我添加了警报,看看我是否至少会得到响应,我这样做了,但它只返回[object Object]。我需要做什么才能显示搜索结果?
错误: 第 417 行 Uncaught SyntaxError: Unexpected token ILLEGAL:
【问题讨论】:
-
控制台选项卡中没有错误?
-
哦,没关系,您的网络标签上的状态是
OK。我会研究代码。 -
也许您可以向我们展示更多代码,主要是您调用 3 次的
response()函数,以及能够重现它的标记。 -
您需要格式化响应数据,我假设这是在
response()方法中完成的。 jQueryUI 需要来自success()函数的特定格式,如果不匹配,则不会显示结果。我怀疑从 Spotify 格式到预期格式的转换不正确。查看documentation,尤其是Remote Datasource 和Remote JSONP datasource,并查看控制台中的“网络”选项卡以查看响应数据格式。跨度>
标签: javascript jquery jquery-ui jquery-ui-autocomplete spotify