當將JSON 資料從Flask 路由傳遞到Jinja 範本時,瀏覽器可能會拋出語法錯誤:意外的標記“&”。渲染資料時需要屬性名稱。了解如何在 JavaScript 中處理渲染的 JSON 資料對於成功處理模板至關重要。
Flask 的 Jinja 環境會自動轉義 HTML 範本中渲染的資料以防止安全漏洞。對於需要被視為 JSON 的數據,Flask 提供了 tojson 過濾器,它將數據轉儲為 JSON 並將其標記為安全。使用 tojson 過濾器可確保資料在不轉義的情況下呈現,使其能夠在 JavaScript 中正確解析。
或者,在較舊的Flask 版本中,安全過濾器可用於標記資料安全:
如果資料已經轉儲為JSON,安全過濾器可用於將其標記為安全渲染而無需轉義:
將JSON 字串包裝在Markup 中也相當於使用安全過濾器:
如果資料沒有被傳遞到JavaScript 但在Jinja 中使用,可以省略 JSON 渲染,直接使用 Python 資料:
以上是從 Jinja 模板渲染 JSON 資料時,為什麼我的 JavaScript 會出現語法錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!