如何传输python对象以在JavaScript变量中使用?
我正在使用瓶子和Python 2.7 我想将一个列表变量从我的瓶子控制器传递到视图页面,在那里它将在JavaScript变量中使用如何传输python对象以在JavaScript变量中使用?,javascript,python,bottle,Javascript,Python,Bottle,我正在使用瓶子和Python 2.7 我想将一个列表变量从我的瓶子控制器传递到视图页面,在那里它将在JavaScript变量中使用 @app.route('/foo'): def foo(): l = [{'name':'Matthew'}] return template('foo', l=l) 我还做了: l = json.dumps([{'name':'Matthew'}] 在我看来 <script type="text/javascript"> $
@app.route('/foo'):
def foo():
l = [{'name':'Matthew'}]
return template('foo', l=l)
我还做了:
l = json.dumps([{'name':'Matthew'}]
在我看来
<script type="text/javascript">
$(document).ready({
var l = {{l}}
l.forEach(function(entry) {
console.log(entry);
});
});
</script>
如何传输python对象以在JavaScript变量中使用?在
{
和}
之间进行替换是为了防止XSS
试试这个:
var l = {{!l}};
瓶子(通过SimpleTemplate引擎)正在逃逸输出以防止XSS漏洞。一般来说,这是好的。您可以使用暂时禁用转义代码>如:
var l = {{!l}};
它的文档是如果我这样做是不安全的吗?如果l
是用户生成的内容是不安全的。如果您知道l
只包含有效的JSON,那么它不是不安全的。如果我这样做,它是不安全的吗?最安全的假设是不安全的,因此默认情况下它会被转义。但也可能是这样,这取决于数据的来源。如果它来自一个可信的来源,比如开发人员或(可能)管理员,它可能没问题。否则,不会。
var l = {{!l}};