Flask에서 JavaScript로 데이터 전달: JSON 구문 오류 처리
Flask 경로에서 Jinja 템플릿으로 JSON 데이터를 전달하려는 시도 , 렌더링된 데이터에서 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 사용을 위한 대체 접근 방식
JavaScript로 데이터를 전달하지 않고 Jinja에서 직접 데이터로 작업하는 경우에는 필요하지 않습니다. JSON. tojson을 호출하지 않고 실제 Python 데이터를 전달하기만 하면 됩니다.
return render_template('tree.html', tree=tree)
위 내용은 Flask에서 JavaScript로 데이터를 전달할 때 JSON 구문 오류를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!