問題:
將JSON 資料從Flasksk ?渲染JavaScript,JSON.parse() 失敗並顯示SyntaxError。
根本原因:
Flask 對 HTML 模板中呈現的資料進行轉義以防止安全漏洞,從而影響 JavaScript 中的 JSON 資料。
解決方案:
使用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中文網其他相關文章!