Problem:
Beim Übergeben von JSON-Daten von Flask an eine Jinja-Vorlage rendert JavaScript, JSON.parse() schlägt mit a fehl SyntaxError.
Grundlegende Ursache:
Flask maskiert in HTML-Vorlagen gerenderte Daten, um Sicherheitslücken zu vermeiden, die sich auf JSON-Daten in JavaScript auswirken.
Lösung:
Verwenden Sie den Tojson Filter:
Der Tojson-Filter von Flask konvertiert Python-Objekte in sicheres JSON und markiert die Daten als sicher für das Rendern:
return render_template("tree.html", tree=tree)
var tree = {{ tree|tojson }};
Alternative Optionen:
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 %}
Das obige ist der detaillierte Inhalt vonWie vermeide ich JavaScript-Syntaxfehler bei der Verwendung von Jinja-gerenderten JSON-Daten aus Flask?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!