Jquery和twig,用更新的twig变量重新加载我页面的一部分

时间:2017-05-04 05:34:41

标签: javascript jquery symfony twig

我想使用javascript重新加载我的html页面的一部分。 我使用Symfony,所以我从我的控制器发送一个变量到我的html。 例如,我有我的HTML:

<div id="block">
    <button id="reload">Reload</button>
    <p>{{ myVar }} </p>
</div>

我的var可能等于1,当我点击按钮时,我想重新加载页面并增加myVar。那可能吗?我在google上看到了如何重新加载页面,但不知道如何更新twig变量。谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

您正在维护symfony中的变量状态并根据用户操作更改它,因此您需要告诉symfony控制器已单击该按钮及其增加变量值的时间

这可以很容易地完成

1)按钮点击发出一个AJAX请求并将其路由到函数可以增加变量,作为回报你可以发送重定向响应

return new RedirectResponse($this->generateUrl('yourpage'));

2)或者您也可以在重定向URL中发送查询参数,如果值为true则在控制器中检查它,然后递增计数器

example.con?buttonClicked=true

并在控制器中有类似的东西

    public function indexAction(Request $request)
{
    $buttonClicked = $request->query->get('buttonClicked');
    if($buttonClicked) {
      clicked++
    }

}

建议使用第一种方法