4

私はルートを持っています:

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

そして私は書きたいです:

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

使わない方法はあり$this->getRequest();ますか?

4

2 に答える 2

4

これはどう?

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

$.ajax(url.replace('__id__', id),{
         data : form ,
         type: 'post',
于 2012-09-24T11:44:30.170 に答える
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はブラウザでクライアント側にレンダリングされ、ブラウザに渡される前にTwig / PHPサーバー側でレンダリングされるため、twigブロック内のjavascript変数にアクセスすることはできません。

回避策はFOSJSRoutingBundleを使用しています

お役に立てれば

于 2012-09-24T04:29:26.843 に答える