コントローラーからビューにデータを送信する Symfony 2 アプリケーションを構築しています。
コントローラ
$user = array(
'configuration' => array(
'levels' => array(
'warning' => 0.05,
'danger' => 0.10,
),
),
);
return $this->render(
'MyWebsiteBundle:Core:searchResults.html.twig',
array(
'userJSON' => json_encode($user)
)
);
意見
<script language="javascript">
user = $.parseJSON("{{ userJSON }}");
</script>
結果
結果dev
は次のようになり、期待どおりに動作します。
user = $.parseJSON("\x7B\x22configuration\x22\x3A\x7B\x22levels\x22\x3A\x7B\x22warning\x22\x3A0.05,\x22danger\x22\x3A0.1\x7D\x7D\x7D");
一方、prod
結果は別の方法でエンコードされるため、コンソールにエラーが表示されます。
user = $.parseJSON("{"configuration":{"levels":{"warning":0.05,"danger":0.1}}}");
コンソール エラー: Uncaught SyntaxError: Unexpected token &
この違いを生み出すものは何ですか?