Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何处理symfony 2路线中的问号_Symfony - Fatal编程技术网

如何处理symfony 2路线中的问号

如何处理symfony 2路线中的问号,symfony,Symfony,我将jquery ui自动完成与动态源一起使用: $( "#shop-id" ).autocomplete({ source: function(request, response){ $.ajax({ type: "GET", url: "/app_dev.php/ticket/get_sids/", data: {

我将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
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访问术语值