2012-09-24 32 views
3

的路線我有一個路線:如何生成不指定參數

* @Route("/{id}/delete", name="details_delete") 
* @Method("post") 

我想寫:

$.ajax('{{ path('details_delete') }}',{ 
      data : form , 
      type: 'post', 

是有不使用$this->getRequest();的方法嗎?

+0

我看不到使用'$ this-> getRequest()'的任何地方。對? –

+0

是的,但我可以改變路由到'@Route(「/ delete」,name =「details_delete」)',然後在我的控制器 – Ouadie

回答

2

這個怎麼樣?

var url = '{{ path('details_delete', {'id': '__id__'}) }}'; 

$.ajax(url.replace('__id__', id),{ 
     data : form , 
     type: 'post', 
+0

這不是正確的方式,但它會工作,謝謝! – Ouadie

0

使用ID的默認密鑰在路由

@Route("/{id}/delete", name="details_delete" defaults={"id"="default_id"}) 
@Method("post") 

嘗試這樣

$.ajax('{{ path('details_delete', {'id': id}) }}',{ 
      type: 'post', 

,那麼你可以從控制器訪問ID這樣

public function idAction($id){ 
    //$id is the route parameter which you need 
} 

編輯

訪問樹枝塊內的JavaScript變量是不可能的,因爲JavaScript是在瀏覽器中呈現的客戶端,被傳遞到瀏覽器

解決方法是使用FOSJSRoutingBundle

希望這之前的枝條/ PHP服務器側幫助

+0

中使用'$ this-> getRequest()',但** id **我想發送,是一個JavaScript變量不是一個樹枝變量 – Ouadie

+0

@Ouadie對不起,你不能直接使用它,看我編輯 –

+0

我知道我不能,這就是爲什麼我問這個問題,謝謝! – Ouadie