如何在不指定参数的情况下生成路径

时间:2012-09-24 00:36:30

标签: jquery ajax symfony url-routing

我有一条路线:

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

我想写:

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

有没有办法不使用$this->getRequest();

2 个答案:

答案 0 :(得分:3)

这个怎么样?

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

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

答案 1 :(得分: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

希望这有帮助