我有来自来源的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的任何调用。

最佳答案

.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部分。

10-06 12:16