typeahead.js - 不向' remote'发送查询地点

时间:2016-09-09 09:36:44

标签: javascript twitter-bootstrap-3 typeahead.js

我有来自源的typeahead.js:

https://github.com/twitter/typeahead.js

以下示例不会向服务器端脚本发出查询数据库的请求:

HTML:

<input id="doc" class="typeahead" type="text" placeholder="search here">

JS

$('#doc').typeahead({
  name: 'doc-search',
  minLength: 3,
  limit: 10,
  remote: '/Search&doc_no=%QUERY'
});

我在开发者控制台中看不到对/Search的任何调用。

1 个答案:

答案 0 :(得分:2)

.typeahead不包含remote的定义,您需要使用Bloodhound来远程获取数据。

以下是如何远程获取数据的示例。

var docs = new Bloodhound({
  datumTokenizer: Bloodhound.tokenizers.obj.whitespace('YourColumnName'),
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  remote: {
    remote: '/Search&doc_no=%QUERY',
    wildcard: '%QUERY'
  }
});

$('#doc').typeahead(null, {
  name: 'documents',
  display: 'value',
  source: docs
});

您可以看到examples页面的Remote部分。