我使用的是Python 2.7。
我想把一个列表变量从我的瓶子的控制器传递到视图页面,在那里它将被用于一个JavaScript变量。
@app.route('/foo'):
def foo():
l = [{'name':'Matthew'}]
return template('foo', l=l)
我还做过:
l = json.dumps([{'name':'Matthew'}]
In my view
<script type="text/javascript">
$(document).ready({
var l = {{l}}
l.forEach(function(entry) {
console.log(entry);
});
});
</script>
然而,我的控制台说我有一个语法错误。当我打开HTML时,它呈现为:
var l = [{"name": "Matthew"]
如何将python对象转移到JavaScript变量中使用?
{{
和}}
之间的替换是HTML实体编码,以防止XSS等。
试试这个:
var l = {{!l}};
瓶子(通过SimpleTemplate引擎)正在转义输出以防止XSS漏洞。总的来说,这是好的。您可以使用!
暂时禁用转义,如:
var l = {{!l}};
文档在这里