Flask python 列表到 javascript

Mat*_*att 3 javascript python flask

我正在使用 python Flask Temple 来构建一个网站。我有一个例子,我想将 python 列表发送到 java 脚本。python 列表包含三个对象,但是当我在 java 脚本环境中执行 list1.length 时,我看到该列表的长度是 23。这很可能是因为 java 脚本将其识别为字符串。我的问题是如何让 python 列表在传递到 javascript 后保持列表状态?

# my route with python list1
@app.route('/chart_sandbox')
def chart_sandbox():

    list1 = ['abc', 'def', 'hij']

    return render_template("chart_sandbox.html", list1=json.dumps(list1))




# My Java script
<script type="text/javascript">

    var list1 = '{{list1|tojson}}'
    var listLength = list1.length


    document.write(listLength)
    document.write(list1)

</script>

# this is what is returned to me. As you can see java script length is seen 
#as 23 instead of 3
23"["abc", "def", "hij"]"
Run Code Online (Sandbox Code Playgroud)

diz*_*zyf 7

删除 jinja 文本周围的引号。这会将您的列表转换为列表的字符串表示形式。像这样的东西应该有效:

var list1 = {{ list1 | tojson }};
Run Code Online (Sandbox Code Playgroud)