用Jinja渲染JS会产生无效的数字而不是string

我想传递一个string到模板中的一些JavaScript。 但是,当JavaScript运行时,string被解释为一个(无效的)数字。 如何将string传递给JavaScriptvariables?

@app.route('/loadNext') def loadNext(): return render_template('next.html', value='1.1.1.1') 
 $("#loadtable").ready( function(){ var tmp = {{ value }}; alert(tmp); }); 

问题是这样的

 {{ '1.1.1.1' }} 

呈现为

 1.1.1.1 

行情不包括在内。 JavaScript试图将其parsing为一个数字,而不能。 幸运的是,Flask包含一个Jinjafilter。

 var tmp = {{ value|tojson }}; 

tojson将包括string的引号,并将其忽略为数字值。 过滤的值由Jinja呈现时,是正确types的有效JavaScript。