3

我使用带有动态源的 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);
                }
            })
        }
    });

生成的 url 将如下所示:

/app_dev.php/ticket/get_sids/?term=22

我如何在 symfony 2 路由中处理它?我尝试了几件事,但问号似乎是瓶颈。

有任何想法吗?

4

2 回答 2

7

term=22是一个查询参数——一个GET请求附带的参数。Symfony 在检查路由时不会使用它,所以它会尝试为/ticket/get_sids/. 如果你定义了一个处理这个 URL 的控制器,那么你可以得到这样的term参数:

$term = $request->query->get('term');
于 2012-09-17T14:38:04.293 回答
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');
    ... 

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

于 2012-10-04T12:12:41.323 回答