Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengelakkan SyntaxErrors JavaScript Apabila Menggunakan Data JSON yang Dihasilkan Jinja daripada Flask?

Bagaimana untuk Mengelakkan SyntaxErrors JavaScript Apabila Menggunakan Data JSON yang Dihasilkan Jinja daripada Flask?

Barbara Streisand
Barbara Streisandasal
2024-12-26 12:19:10346semak imbas

How to Avoid JavaScript SyntaxErrors When Using Jinja-Rendered JSON Data from Flask?

JavaScript SyntaxError dengan Jinja-Rendered Data

Masalah:

Apabila menghantar data JSON dari Flask ke templat Jinja yang menjadikan JavaScript, JSON.parse() gagal dengan a SyntaxError.

Punca Asas:

Flask melarikan diri data yang diberikan dalam templat HTML untuk mengelakkan kelemahan keselamatan, menjejaskan data JSON dalam JavaScript.

Penyelesaian:

Gunakan Penapis tojson:

Penapis tojson Flask menukar objek Python kepada JSON dan tanda selamat data selamat untuk pemaparan:

return render_template("tree.html", tree=tree)
var tree = {{ tree|tojson }};

Pilihan Alternatif:

  • Penapis atau Pembalut Penanda selamat: Jika data sudah JSON , gunakan penapis selamat atau bungkusnya Penandaan.
return render_template("tree.html", tree=Markup(json.dumps(tree)))
var tree = {{ tree }};
  • Data Python Langsung: Jika data tidak dimaksudkan untuk JavaScript, gunakan data Python terus dalam templat tanpa penukaran JSON .
return render_template("tree.html", tree=tree)
{% for item in tree %}
    <li>{{ item }}<br /></li>
{% endfor %}

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan SyntaxErrors JavaScript Apabila Menggunakan Data JSON yang Dihasilkan Jinja daripada Flask?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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