當嘗試使用JavaScript 迭代渲染Jinja 範本中的JSON 資料範本中的JSON ,瀏覽器拋出“SyntaxError: Unexpected token '&'”錯誤。對渲染的資料呼叫 JSON.parse 時會出現此問題。
Flask 的 Jinja 環境對模板中渲染的資料套用自動 HTML 轉義以降低安全性風險。但是,這種轉義可能會幹擾將資料解釋為 JSON。
Flask 提供了 tojson 過濾器來解決此問題。它將 Python 物件轉換為 JSON 並將其標記為安全渲染。
在模板中:
如果資料是不適合 JavaScript 使用,因此不需要 tojson 過濾器。考慮直接傳遞 Python 資料並根據需要在模板中使用它。
在範本中:
如果不需要轉義並且您已經將JSON 資料作為字串,您可以使用安全過濾器停用轉義或標記。
使用安全過濾器:
在模板中:
使用標記:
在範本:
以上是從 Jinja 範本渲染 JSON 資料時,為什麼 JSON.parse 會失敗並出現「SyntaxError: Unexpected token '&'」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!