我将playframework 2.1.1 与 jquery 1.9.0、twitter bootstrap typeahead 和 underscore.js 一起使用。我的目标是实现一个简单的自动完成 REST 服务。
设置
我的路线文件
GET /api/search/autocomplete/:query controllers.Autocomplete.complete(query)
我的后端代码返回一个 json 字符串列表。
我的 typeahead 函数的 search.js 实现。
$('form :text').typeahead({
items: 15,
matcher: function() { return true }, // turn off jquery intelligence
// debounce would be really helpful here
source: function (query, process) {
var load = jsRoutes.controllers.Autocomplete.complete(query).ajax({
success: function(results) {
process(results);
},
error: function(xhr, status, msg) {
console.log(xhr);
console.log(status);
return false;
}
});
_.debounce(load, 250);
}
});
问题
如果我打电话给网址
本地主机:9000/api/search/autocomplete/s
一切正常,我得到了一个 JSON。但是我将此 URL 称为
jsRoutes.controllers.Autocomplete.complete(query).ajax(...)
我得到一个“状态:0”。而且只在字母b上!!