स्वीकार कर लिया समाधान (? अब और) टहनी की वजह से काम नहीं करता है आउटपुट autoescaping, "
के साथ सभी JSON "
को बदलना;
समतुल्य अब raw
फिल्टर का उपयोग करना होगा:
<script type="text/javascript">
nickname = {{ profile.nickname|json_encode()|raw }}; // Nickname will be a string
// 2nd solution if you have more informations related to profile
profile = {
nickname: {{ profile.nickname|json_encode()|raw }},
lastname: {{ profile.lastname|json_encode()|raw }}
};
// Profile is now an object with a nickname property.
// use profile.nickname on your javascripts
</script>
कहा जा रहा है, सीधे जावास्क्रिप्ट में कच्चे JSON मुद्रण, कुछ समस्याएँ हो सकती हैं इस विन्यास में है:
<script>
var myvar = {{ '{"test": "</script>"}'|raw }};
</script>
JSON में </script>
टैग HTML पार्सर द्वारा व्याख्या किया जाएगा, जिसके परिणामस्वरूप टूटी हुई स्क्रिप्ट होगी।
यह करने के लिए नहीं बल्कि एक भाग निकले स्ट्रिंग के रूप में JSON प्रिंट, और फिर js स्क्रिप्ट के भीतर यह पार्स करने के लिए किया जाएगा वास्तव में सही तरीका:
var title = '{{ 'My Daily Activities'|trans({}, 'general') }}';
साथ:
<script>
var myvar = JSON.parse('{{ '{"test": "</script>"}'|e('js') }}');
</script>
उदाहरण के लिए मेरे पास यह var twig {{profile.nickname}} है, अगर मैं अपने जावास्क्रिप्ट के अंदर {{profile.nickname}} के मान का उपयोग करना चाहता हूं? – Barno
मैंने अपना जवाब अपडेट कर लिया है। – zapcost
उत्तर के लिए धन्यवाद! – Barno