如何在 symfony 3 中使用 twitter/tyepahead.js 和 blodhound 实现自动完成

How to implement autocomplete using twitter/tyepahead.js and blodhound in symfony 3

我有一个 ajax 路由,它响应一个 json 数组,其中包含从 txt 文件中获取的站点。在我的树枝模板中,我使用 typeahead 函数来执行 ajax 调用,例如:

var sites= new Bloodhound({
  datumTokenizer: Bloodhound.tokenizers.whitespace,
  queryTokenizer: Bloodhound.tokenizers.whitespace,

  remote: '{{'ajax_fun'}}'
});


$('#bloodhound .typeahead').typeahead({
  name: 'sites',
  source: sites
});

即使我得到了网站数组,输入字段的过滤也不起作用。

如果有人想知道如何使用从远程路径获取的 json 数组填充状态,这是我的解决方案:

var states = [];
var statesBloodhound = new Bloodhound({
  datumTokenizer: Bloodhound.tokenizers.whitespace,
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  // `states` is an array of state names defined in "The Basics"
  local: states
});

//populate the statesBloodhound 
$.getJSON('path', {
}).done(function(data){
   statesBloodhound.add(data); 
})

$('#bloodhound .typeahead').typeahead({
  name: 'statesBloodhound ',
  source: statesBloodhound 
});