Heim >Backend-Entwicklung >Python-Tutorial >Wie vermeide ich JSON-Syntaxfehler beim Übergeben von Daten von Flask an JavaScript?
Übergabe von Daten von Flask an JavaScript: Umgang mit JSON-Syntaxfehlern
Bei einem Versuch, JSON-Daten von einer Flask-Route an eine Jinja-Vorlage zu übergeben , kann beim Aufruf von JSON.parse für die gerenderten Daten ein SyntaxError auftreten. Dieser Fehler tritt normalerweise auf, wenn JSON-Zeichen beim Rendern maskiert werden.
Um dieses Problem zu beheben, bietet Flask den Filter tojson an. Bei der Anwendung auf Daten speichert es das Python-Objekt automatisch in JSON und markiert es als sicher zum Rendern.
Hier ist ein Beispiel:
return render_template('tree.html', tree=tree)
<script> var tree = {{ tree|tojson }}; </script>
Filter für Sonderfälle
Wenn JSON bereits in eine Zeichenfolge gedumpt wurde, können Sie die verwenden sicher Filtern oder umschließen Sie die Zeichenfolge vor dem Rendern in Markup.
return render_template('tree.html', tree=json.dumps(tree))
<script> var tree = {{ tree|safe }}; </script>
Alternativer Ansatz für die Verwendung von Jinja
Falls Sie mit den Daten direkt in Jinja arbeiten, ohne sie an JavaScript zu übergeben, benötigen Sie kein JSON. Übergeben Sie einfach die tatsächlichen Python-Daten, ohne tojson aufzurufen.
return render_template('tree.html', tree=tree)
Das obige ist der detaillierte Inhalt vonWie vermeide ich JSON-Syntaxfehler beim Übergeben von Daten von Flask an JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!