我想将字符串传递给模板中的某些JavaScript。但是,在运行JavaScript时,字符串被解释为(无效)数字。如何将字符串传递给JavaScript变量?@app.route('/loadNext')def loadNext(): return render_template('next.html', value='1.1.1.1')$("#loadtable").ready( function(){ var tmp = {{ value }}; alert(tmp); });
2 回答

Smart猫小萌
TA贡献1911条经验 获得超7个赞
问题是
{{ '1.1.1.1' }}
呈现为
1.1.1.1
不包括引号。JavaScript尝试将其解析为数字,但不能。幸运的是,Flask为此提供了一个Jinja过滤器。
var tmp = {{ value|tojson }};
tojson将在字符串两边加上引号,并省略数字值。由Jinja呈现时,过滤后的值是具有正确类型的有效JavaScript。
添加回答
举报
0/150
提交
取消