我将一个列表从python传递到Flask中的JavaScript,我希望输出为JavaScript中的Object



我的python函数:

def somefunction(self):
  x1 = ['reduced','fully automatic','years']
  return x1

在Flask app.py文件中

keyword = somefunction()   

html:中的JavaScript

<script>
var javaword = '{{ keyword }}';
somefunction {
alert(typeof(javaword));
alert(javaword);
}
----------
Output -
String
[&#39;reduced&#39;, &#39;fully automatic&#39;, &#39;years&#39;]

我想要的输出

Object
['reduced','fully automatic','years']

已解决

我想明白了,并更改了以下

var javaword =JSON.parse('{{ keyword|tojson }}');

三件事。首先,您需要将其发送为JSON,而不是Python字符串;其次,您需要禁用该变量的Jinja2自动转义;最后,JS需要将其从JSON字符串解析为JS对象。因此:

return jsonify(x1)

var javaword = JSON.parse('{{ keyword|safe }}');

最新更新