我使用带有动态源的jquery ui自动完成:
$( "#shop-id" ).autocomplete({
source: function(request, response){
$.ajax({
type: "GET",
url: "/app_dev.php/ticket/get_sids/",
data: {
term: request.term
},
success: function(data){
console.log(data);
}
})
}
});
制作的网址如下所示:
/app_dev.php/ticket/get_sids/?term=22
如何处理symfony 2路由?我尝试了几件事,但问号似乎是瓶颈。
有什么想法吗?
答案 0 :(得分:7)
term=22
是一个查询参数 - GET
请求附带的参数。 Symfony在检查路线时不会使用此功能,因此会尝试为/ticket/get_sids/
找到路线。如果您定义了一个处理此URL的控制器,那么您可以获得term
参数,如下所示:
$term = $request->query->get('term');
答案 1 :(得分:0)
您需要定义这样的路线:
ajax_ticket_autocomplete_search:
pattern: /ticket/get_sids.php
defaults: { _controller: "YOURBundle:Ticket:ajaxSearchTicket" }
并在您的票务管理员中:
public function ajaxSearchTicketAction()
{
$request = $this->getRequest();
$term_autocomplete=$request->query->get('term');
...
通过这种方式,您可以通过查询字符串访问术语值。