【发布时间】:2014-02-14 15:07:28
【问题描述】:
我正在尝试将自定义源(远程)与 typeahead.js 一起使用,但在让事情正常工作时遇到了一些麻烦。如果我对数据进行硬编码,一切正常,但是当我尝试实现对远程服务的调用时,永远不会调用该调用,因此永远不会检索数据来填充预先输入的内容。
代码如下:
var places = function(query, cb){
$.getJSON({
url: "https://api.foursquare.com/v2/venues/search?v=20120321&intent=global&query=%QUERY&client_id="+App.fs.client_id+"&client_secret="+App.fs.client_secret,
success: function(results){
cb(results.response.venues);
},
error: function(){
console.log("error");
}
});
};
$("#search").typeahead({
highlight: true
},
{
name: "Places",
displayKey: "name",
source: places
}
);
如果我创建一个名为 results 的对象并手动构造数据并将其传递给 cb,则一切正常。然而,通过这个实现,$.getJSON 甚至不会被调用。我错过了什么?
谢谢!
【问题讨论】:
-
我猜链接不能正常工作。您是否尝试过手动检查链接是否返回 JSON 数据?