Используйте Javascript для доступа к переменной, переданной через Twig

У меня есть контроллер, который передает массив шаблону twig, который я хочу использовать в скрипте, написанном на этой странице. Как мне это сделать?

Я пробовал это в своем шаблоне .twig:

<script> $(document).ready(function(){ var test = {{ testArray }}; }); </script> 

но это работает только в том случае, если это строка.

Возможно, вам понадобится json_encode массив, попробуйте следующее:

 <script> $(document).ready(function(){ var test = {{ testArray|json_encode|raw }}; }); </script> 

Сначала отправьте данные json, закодированные с контроллера, и

затем в javascript,

 var context= JSON.parse('{{ YourArrayFromController|raw}}'); 

В My Controller я устанавливаю SerializerBundle

 $serializer = $this->get('serializer'); $countries = $this->getDoctrine()->getRepository("QSCORBundle:CountryMaps")->findAll(); $jsonCountries = $serializer->serialize($countries, 'json'); return $this->render('QSCORBundle:Default:index.html.twig',array("countries"=> $jsonCountries)); 

И в моем файле Twig

 <script type="text/javascript" > var obj = {{ countries|json_encode|raw }}; var myObject = eval('(' + obj + ')'); console.log(myObject[0]['capital_latitude'] + " " + myObject[0]['capital_longitude']);//for the First Element </script>