Symfony2将变量从控制器传递给javascript

时间:2015-06-24 13:40:13

标签: javascript php symfony controller

我有这个controller.php

    $repository = $this->getDoctrine()->getManager()->getRepository('TechappStatsBundle:ParentForm');
    $data = $repository->findBy(array(),array('id' => 'desc'),1,0); 

    $formulaire = new ParentForm();

    $parent= $this->get('form.factory')->create(new ParentFormType(),$formulaire);

    if ($parent->handleRequest($request)->isValid()) {
        $em = $this->getDoctrine()->getManager();
        $em->persist($formulaire);
        $em->flush();
    }

    return $this->render('TechappStatsBundle:Stats:index.html.twig',array("res" => $data,
        "parentform"=>$parent->createView(),));

我想用js检查视图中的变量res是否等于特定值,但我不知道如何传递它。

3 个答案:

答案 0 :(得分:2)

您可以从控制器传递参数,如:

ch

您可以访问index.html.twig中的“res”参数,如:

return $this->render('TechappStatsBundle:Stats:index.html.twig', array(
                "res" => "Your data here"));

答案 1 :(得分:1)

我的选项始终是以数据值

发送

您可以执行类似

的操作
<div id="res-result" data-res="{{ res }}" style="display: none;">

div不需要隐藏,如果它与div有关,我总是把它放在div里面,即使它没有被隐藏

然后来自Jquery:

resValue = $('#res-result').data('res');

将HTML文件放在HTML之外是IMO最简洁的方法

答案 2 :(得分:0)

如果要将数据传递给Javascript,可以将视图更新为:

  • 添加包含数据值的隐藏输入(如果是表单)
  • 将数据添加到使用CSS隐藏的DIV或P(或其他)
  • 将属性添加到特定字段,例如data-<field>

获得后,您可以轻松地从jQuery获取值。