推特提前输入 'Use of undefined constant name' 与 laravel 5 和 bootstrap 3

Twitter typeahead 'Use of undefined constant name' with laravel 5 and bootstrap 3

我正在使用旧的 typeahead 0.9.3 并从文本输入 (id: search_accused) 调用 typeahead jquery 函数,就像这样

$('#search_accused').typeahead([
        {
            name: 'search_accused',
            valuekey: 'name',
            header: 'NAME',
            limit: 5,
            remote: 'suggestaccused.php?query=%QUERY',
            template: '{{name}}',
            engine: Hogan
        }
    ]).on('typeahead:selected',function(event,datum){
        alert(datum.name);
    }); 

suggestaccused.php代码是

while ($row = mysqli_fetch_assoc($result)) {
    $array['name'] = $row['name'];
    $array['photo'] = $row['photo'];
    array_push($accused, $array);
}   
echo json_encode ($accused); 

我收到以下错误:

Use of undefined constant name - assumed 'name' 

我认为这是因为使用了 {{}} 因为 alert() 在我使用 template: '{name}' 或任何其他 template: value 时从下拉列表中选择时打印所需的名称没有给出错误,但也没有输出正确的值。

非常感谢任何帮助

我正确地假设是 {{}} 给出了错误。这是因为 Laravel 的 Blade 认为它是一个 php 表达式。在 {{}} 之前添加 @ 告诉 Blade 它是 Javascript。所以我改变了

template: '{{name}}',

template: '@{{name}}',

而且效果很好。