Symfony路由ajax get方法

我通过ajax GET参数传递,我的url看起来像:

example.com/autocamplete?term=string 

我为此添加路线:

 autocomplete: path: /autocomplete?term={term} defaults: { _controller: CatalogWebBundle:Default:autocomplete } 

但是我的路线有问题,因为我收到了错误:

 GET http://127.0.0.1:8000/autocomplete?term=sdfsd 500 (Internal Server Error) 

如何重写我的路线到ajax得到拍拍?

JS是:

  $(function() { //autocomplete $("#search").autocomplete({ source: "\/autocomplete", minLength: 1 }); });  

安装FOSJsRoutingBundle ,创建一个正确的路由,因为它在你的问题中是不正确的。

所以,你应该做这样的事情:

添加bundle JS(可能在基本模板中用于全局使用):

   

配置路由(没有QS):

 autocomplete: path: /autocomplete defaults: _controller: CatalogWebBundle:Default:autocomple options: expose: true 

配置你的JS:

  

除了上面的版本(使用FOS JS Routing),如果你“渲染”JS函数文件而不需要“动态生成或路由”,你可以使用更简单的方法

 {{ path('routeName', {'slug': slug}) }} 

注意:在您的情况下 – 构建搜索 – 它将无法正常工作