我正在尝试将简单数据从flask传递到javascript文件 我正在听这个答案 Passing a JSON object from Flask to JavaScript
但是我得到了Uncaught SyntaxError:意外的令牌{在位置1的JSON中 在JSON.parse()
var user = JSON.parse('{{ data | tojson}}');
var grade=user.grade;
console.log(grade);
我的python文件有代码
@app.route("/quiz/0")
def quizFirst():
data={"grade":"0"}
return render_template('quiz.html',data=data)
令牌{js文件中的javascript无法识别,不知道我错过了什么。
答案 0 :(得分:3)
它对我有用。此JavaScript需要位于quiz.html
内。原因是Flask将处理quiz.html
并将{{ data | tojson }}
替换为render_template
中提供的数据。但是,它不会处理您的静态JS文件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>sotest</title>
</head>
<body>
Hello World!
<script>
var user = JSON.parse('{{ data | tojson}}');
var grade=user.grade;
console.log(grade);
</script>
</body>
</html>
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/quiz/0")
def quizFirst():
data={"grade":"0"}
return render_template('quiz.html',data=data)
if __name__ == "__main__":
app.run(debug=True)