Maison > développement back-end > Tutoriel Python > Comment éviter les erreurs de syntaxe JSON lors de la transmission de données de Flask vers JavaScript ?

Comment éviter les erreurs de syntaxe JSON lors de la transmission de données de Flask vers JavaScript ?

Susan Sarandon
Libérer: 2024-12-28 01:08:09
original
213 Les gens l'ont consulté

How to Avoid JSON Syntax Errors When Passing Data from Flask to JavaScript?

Transmission de données de Flask vers JavaScript : gestion des erreurs de syntaxe JSON

Dans une tentative de transmission de données JSON d'une route Flask vers un modèle Jinja , vous pouvez rencontrer une SyntaxError lors de l'appel de JSON.parse sur les données rendues. Cette erreur se produit généralement lorsque des caractères JSON sont échappés lors du rendu.

Pour résoudre ce problème, Flask propose le filtre tojson. Lorsqu'il est appliqué aux données, il transfère automatiquement l'objet Python dans JSON et le marque comme sûr pour le rendu.

Voici un exemple :

return render_template('tree.html', tree=tree)
Copier après la connexion
Copier après la connexion
<script>
    var tree = {{ tree|tojson }};
</script>
Copier après la connexion

Filtres pour les cas spéciaux

Si JSON a déjà été vidé dans une chaîne, vous pouvez utiliser le safe filtrez ou enveloppez la chaîne dans Markup avant le rendu.

return render_template('tree.html', tree=json.dumps(tree))
Copier après la connexion
<script>
    var tree = {{ tree|safe }};
</script>
Copier après la connexion

Approche alternative pour l'utilisation de Jinja

Si vous travaillez avec les données directement dans Jinja sans les transmettre à JavaScript, vous n'avez pas besoin de JSON. Transmettez simplement les données Python réelles sans appeler tojson.

return render_template('tree.html', tree=tree)
Copier après la connexion
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal