Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menyelesaikan 'SyntaxError: Token tidak dijangka '&'' Apabila Menghuraikan JSON dalam Templat Jinja?
Apabila cuba melelarkan data JSON melalui kod JavaScript yang diberikan dalam templat Jinja, anda mungkin menghadapi "SyntaxError : Ralat token '&'" yang tidak dijangka semasa memanggil JSON.parse(). Ralat ini timbul disebabkan oleh pelarian automatik data oleh persekitaran Jinja Flask apabila memaparkan dalam templat HTML.
Untuk menghalang proses melarikan diri ini dan mengendalikan data sebagai JSON dalam JavaScript , Flask menyediakan penapis tojson. Ia menukar objek Python kepada JSON dan menandakannya sebagai selamat untuk dipaparkan dalam templat.
return render_template("tree.html", tree=tree)
<script> var tree = {{ tree|tojson }}; </script>
Jika anda tidak berurusan dengan data JSON atau telah menukarnya kepada rentetan, anda boleh menggunakan penapis selamat atau balut rentetan dalam Markup untuk mengelakkan melarikan diri:
return render_template("tree.html", tree=json.dumps(tree))
<script> var tree = {{ tree|safe }}; // or var tree = {{ Markup(json.dumps(tree)) }}; </script>
Jika anda berhasrat untuk menggunakan data dalam templat Jinja itu sendiri daripada menghantarnya kepada JavaScript, anda boleh meninggalkan penapis tojson dan gunakan data Python mentah secara langsung.
return render_template("tree.html", tree=tree)
{% for item in tree %} <li>{{ item }}</li> {% endfor %}
Dengan melaksanakan teknik ini, anda boleh menggunakan dengan berkesan memberikan data JSON dalam JavaScript tanpa menghadapi isu SyntaxError.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan 'SyntaxError: Token tidak dijangka '&'' Apabila Menghuraikan JSON dalam Templat Jinja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!