如何处理symfony 2路线中的问号
我将jquery ui自动完成与动态源一起使用:如何处理symfony 2路线中的问号,symfony,Symfony,我将jquery ui自动完成与动态源一起使用: $( "#shop-id" ).autocomplete({ source: function(request, response){ $.ajax({ type: "GET", url: "/app_dev.php/ticket/get_sids/", data: {
$( "#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);
}
})
}
});
生成的url如下所示:
/app_dev.php/ticket/get_sids/?term=22
ajax_ticket_autocomplete_search:
pattern: /ticket/get_sids.php
defaults: { _controller: "YOURBundle:Ticket:ajaxSearchTicket" }
在symfony 2路由中如何处理?我尝试了几件事,但问题似乎是瓶颈
有什么想法吗?
term=22
是一个查询参数-一个随GET
请求而来的参数。Symfony在检查路由时不会使用此选项,因此它将尝试为/ticket/get_sids/
查找路由。如果您定义了一个处理此URL的控制器,则可以获得如下所示的term
参数:
/app_dev.php/ticket/get_sids/?term=22
ajax_ticket_autocomplete_search:
pattern: /ticket/get_sids.php
defaults: { _controller: "YOURBundle:Ticket:ajaxSearchTicket" }
$term=$request->query->get('term');
您需要定义如下路线:
/app_dev.php/ticket/get_sids/?term=22
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');
...
通过这种方式,您可以通过querystring访问术语值