未捕获的SyntaxError:将列表/数组传递给Javascript时出现意外标记(&W)
我是JavaScript新手。我使用Flask和Python,Flask模板使用Jinja模板库来呈现模板。我通过API调用获取数组。 我的数组如下所示:未捕获的SyntaxError:将列表/数组传递给Javascript时出现意外标记(&W),javascript,python,flask,jinja2,Javascript,Python,Flask,Jinja2,我是JavaScript新手。我使用Flask和Python,Flask模板使用Jinja模板库来呈现模板。我通过API调用获取数组。 我的数组如下所示: array = [{ country: 'Macediona', city: ['Skopje','Ohrid', 'Bitola'] }, { country: 'Switzerland', city: ['Bazel', 'Zurich', 'Ze
array = [{
country: 'Macediona',
city: ['Skopje','Ohrid', 'Bitola']
}, {
country: 'Switzerland',
city: ['Bazel', 'Zurich', 'Zeneva']
}, {
country: 'Srbia',
city: ['Nis', 'Belgrad']
}];
我可以使用{array}}在HTML模板中传递这个数组,根据Flask文档,我也可以在Javascript中传递同样的数组
但当我使用Javascript时:
var list = {{ array }}
我有错误:未捕获的语法错误:意外标记&。
通过控制台调试,我看到该列表在键和值之前和之后传递了其他内容
array = [{
'country': ''Macediona'',
....
如何在Javascript中获得干净的数组?解码字符串
function decodeHtml(html) {
return $('<div>').html(html).text();
出于安全原因,Jinja正在转义代码中的html。 &39; 是一个 有关jinja的html转义的信息可在此处找到: 启用自动转义时,默认情况下会转义所有内容,但显式标记为安全的值除外 因此,为了防止Jinja逃逸您的代码,您可以使用Jinja的内置过滤器。 要将代码标记为安全,请使用安全过滤器
var list = {{ array | safe }}
代码在哪里?你能告诉我们发生错误的代码吗?如果我这样做:var list={%raw%}{{{array}}{%endraw%}我有另一个错误:未捕获的语法错误:意外的标记{。非常感谢!这解决了问题!xD@mitevva_t很乐意帮忙。请接受答案,将问题标记为已回答。
var list = {{ array | safe }}