2012-09-17 76 views
3

我用jQuery用戶界面自動完成與動態源處理一個問號:如何在symfony的2路線

$("#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路由?我嘗試了幾件事情,但問號似乎是瓶頸。

任何想法?

回答

7

term=22是查詢參數 - 與GET請求一起提供的參數。 Symfony在檢查路線時不會使用它,所以它會嘗試找到/ticket/get_sids/的路線。如果你定義一個控制器來處理這個URL,那麼你就可以得到term參數是這樣的:

$term = $request->query->get('term'); 
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'); 
    ... 

通過這種方式,您可以通過查詢字符串訪問術語值。