如何在symfony 2路由中处理问号

时间:2012-09-17 13:56:54

标签: symfony

我使用带有动态源的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路由?我尝试了几件事,但问号似乎是瓶颈。

有什么想法吗?

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');
    ... 

通过这种方式,您可以通过查询字符串访问术语值。