如何将javascript变量传递给twig?

时间:2012-01-30 16:33:34

标签: php javascript jquery twig

var prova= $("select#utente_regione_name").val();
$.ajax({
    type: "POST",
    url: "{{ path('province', { 'variabile': 'prova<------it's correct?' }) 
}}", 

3 个答案:

答案 0 :(得分:4)

您可以将其作为属性传递,如下所示:

var prova= $("select#utente_regione_name").val();
$.ajax({
    type: "POST",
    url: "{{ path('province') }}",
    data: { variable: prova },
}}", 

当然这意味着在Controller中你应该从

中读取它
$variable = $this->getRequest()->get('variable'); 

并从您的路线中删除它。我不认为在Ajax路由的路由中使用该参数非常重要。

PS。如果有人会以真正的Symfony方式发布如何做到这一点,我将不胜感激,因为这对我来说仍然是一种解决方法。

答案 1 :(得分:0)

您无法访问twig中数组$_POST中的数据。您应该更改脚本以将变量从$_POST传递给您的twig模板。

答案 2 :(得分:0)

使用FOSJsRoutingBundle可以很好地完成工作。 - 这正是它的原因。

有了它,你可以使用JS的路由器:

Routing.generate('my_route_to_expose', { "id": 10, "foo": "bar" });