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
}

编辑

无法在 twig 块中访问 javascript 变量,因为 Javascript 在浏览器客户端呈现,在传递给浏览器之前 Twig/PHP 服务器端呈现

解决方法是使用FOSJSRoutingBundle

希望这可以帮助

于 2012-09-24T04:29:26.843 回答