Problème :
Lors de la transmission de données JSON de Flask à un modèle Jinja qui rend JavaScript, JSON.parse() échoue avec un SyntaxError.
Cause sous-jacente :
Flask échappe aux données rendues dans les modèles HTML pour éviter les failles de sécurité, affectant les données JSON en JavaScript.
Solution :
Utilisez le tojson Filtre :
Le filtre tojson de Flask convertit les objets Python en JSON sécurisé et marque les données comme sûres pour le rendu :
return render_template("tree.html", tree=tree)
var tree = {{ tree|tojson }};
Options alternatives :
return render_template("tree.html", tree=Markup(json.dumps(tree)))
var tree = {{ tree }};
return render_template("tree.html", tree=tree)
{% for item in tree %} <li>{{ item }}<br /></li> {% endfor %}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!