Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menggunakan Data JSON yang Diberikan dengan Selamat daripada Templat Jinja dalam JavaScript?

Bagaimana untuk Menggunakan Data JSON yang Diberikan dengan Selamat daripada Templat Jinja dalam JavaScript?

DDD
Lepaskan: 2025-01-05 16:46:39
asal
553 orang telah melayarinya

How to Safely Use JSON Data Rendered from a Jinja Template in JavaScript?

JavaScript Meningkatkan SyntaxError dengan Data Diberikan dalam Templat Jinja

Isu:

Percubaan untuk menggunakan data JSON yang diberikan dalam Jinja templat dalam JavaScript gagal dengan "SyntaxError: Unexpected tanda '&'." kesilapan. Bagaimanakah data JSON yang diberikan ini boleh digunakan dengan berkesan dalam JavaScript?

Penyelesaian:

Persekitaran Jinja Flask sememangnya terlepas dari data yang diberikan dalam templat HTML untuk tujuan keselamatan. Apabila menghantar objek Python untuk ditafsirkan sebagai JSON, penapis tojson harus digunakan untuk menukar dan menandakan data dengan sewajarnya sebagai selamat:

return render_template('tree.html', tree=tree)
Salin selepas log masuk
Salin selepas log masuk
var tree = {{ tree|tojson }};
Salin selepas log masuk

Jika JSON tidak diberikan atau telah ditukar sebelum ini kepada rentetan, penapis selamat atau pembalut Markup boleh digunakan untuk memastikan selamat rendering:

# already dumped to json
return render_template('tree.html', tree=json.dumps(tree))
Salin selepas log masuk
var tree = {{ tree|safe }};
Salin selepas log masuk
# already dumped and marked safe
return render_template('tree.html', tree=Markup(json.dumps(tree)))
Salin selepas log masuk
var tree = {{ tree }};
Salin selepas log masuk

Sebagai alternatif, jika data digunakan dalam Jinja semata-mata dan tidak dihantar ke JavaScript, JSON tidak diperlukan. Data Python asal boleh dihantar dan digunakan terus dalam templat:

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

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Data JSON yang Diberikan dengan Selamat daripada Templat Jinja dalam JavaScript?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan