將資料從Flask 傳遞到JavaScript:處理JSON 語法錯誤
嘗試將JSON 資料從Flask 路由傳遞到Jinja 模板,在渲染資料上呼叫JSON.parse 時,您可能會遇到SyntaxError。此錯誤通常在渲染過程中轉義 JSON 字元時發生。
為了解決此問題,Flask 提供了 tojson 過濾器。當應用於資料時,它會自動將 Python 物件轉儲為 JSON 並將其標記為可以安全渲染。
這裡有一個範例:
return render_template('tree.html', tree=tree)
<script> var tree = {{ tree|tojson }}; </script>
特殊情況的過濾器
如果JSON 已經轉儲為字串,則可以使用安全 在渲染之前過濾或包裝標記中的字串。
return render_template('tree.html', tree=json.dumps(tree))
<script> var tree = {{ tree|safe }}; </script>
Jinja 使用的替代方法
如果您直接在 Jinja 中處理資料而不將其傳遞給 JavaScript,則不需要JSON。只需傳遞實際的 Python 數據,而不呼叫 tojson.
return render_template('tree.html', tree=tree)
以上是將資料從 Flask 傳遞到 JavaScript 時如何避免 JSON 語法錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!