typeahead.js - 不向 'remote' 位置发送查询

typeahead.js - Not sending query to 'remote' location

我有 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 部分。