Я пытаюсь реализовать функцию typeAhead.Я использую фреймворк Symfony.Но если кажется, что не работает.Ошибка, которую я получаю:
Uncaught ReferenceError: Bloodhound не определен
Я очень новичок в Symfony и Twig.Может кто-нибудь указать мне, почему код не работает?
Веточка
<div id="prefetch">
<input class="typeahead" type="text" placeholder="Countries">
</div>
<script type="application/javascript">
var countries = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
// url points to a json file that contains an array of country names, see
// https://github.com/twitter/typeahead.js/blob/gh-pages/data/countries.json
prefetch: '{{ path('typeAhead') }}'
});
// passing in `null` for the `options` arguments will result in the default
// options being used
$('#prefetch .typeahead').typeahead(null, {
name: 'countries',
source: countries
});
</script>
Контроллер (Ответ)
/**
* @Route("/typeAhead", name="typeAhead")
*/
public function typeAheadAllAction(Request $request)
{
$products=$this->getDoctrine()->getRepository(products::class)->findAll();
$pr_name=array();
foreach($products as $product){
$name=$product->getName();
array_push($pr_name,$name);
}
return new Response(json_encode(array($pr_name)),100);
}
Контроллер (рендеринг файла ветки)
/**
* @Route("/test", name="test")
*/
public function testAction(Request $request)
{
return $this->render('typeahead.html.twig', array(
));
}