我有一条路线:
* @Route("/{id}/delete", name="details_delete")
* @Method("post")
我想写:
$.ajax('{{ path('details_delete') }}',{
data : form ,
type: 'post',
有没有办法不使用$this->getRequest();
?
答案 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
希望这有帮助