問題:
JSON データを Flask から Jinja テンプレートに渡すとき、 JavaScript をレンダリングすると、JSON.parse() がエラーで失敗します。 SyntaxError.
根本的な原因:
Flask はセキュリティの脆弱性を防ぐために HTML テンプレートでレンダリングされたデータをエスケープし、HTML テンプレート内の JSON データに影響を与えます。 JavaScript.
解決策:
tojson フィルターを使用します:
Flask の tojson フィルターは、Python オブジェクトを安全な JSON とマークに変換します。データの安全性レンダリング:
return render_template("tree.html", tree=tree)
var tree = {{ tree|tojson }};
代替オプション:
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 %}
以上がFlask から Jinja でレンダリングされた JSON データを使用するときに JavaScript の構文エラーを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。