Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menyelesaikan 'SyntaxError: Token tidak dijangka '&'' Apabila Menghuraikan JSON dalam Templat Jinja?

Bagaimana untuk Menyelesaikan 'SyntaxError: Token tidak dijangka '&'' Apabila Menghuraikan JSON dalam Templat Jinja?

Mary-Kate Olsen
Lepaskan: 2024-12-20 10:13:16
asal
363 orang telah melayarinya

How to Resolve

Menyelesaikan Ralat Syntax JavaScript Semasa Menyampaikan Data 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.

Penyelesaian: Menggunakan Penapis tojson

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)
Salin selepas log masuk
Salin selepas log masuk
<script>
  var tree = {{ tree|tojson }};
</script>
Salin selepas log masuk

Mengendalikan Data Bukan JSON

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))
Salin selepas log masuk
<script>
  var tree = {{ tree|safe }};
  // or
  var tree = {{ Markup(json.dumps(tree)) }};
</script>
Salin selepas log masuk

Meluluskan Data Mentah

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)
Salin selepas log masuk
Salin selepas log masuk
{% for item in tree %}
  <li>{{ item }}</li>
{% endfor %}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan