我试图通过谷歌应用程序引擎中的 jinja2 将一个数组从服务器放到网页中,但我似乎无法获取它,因此我的 jQuery 代码可以读取它。我是个新手——我第一次尝试这样的事情。
我的 python 代码如下所示(为简洁起见,删除了一些代码):
import json
jinja2_ENVIRONMENT.filters['json'] = json.dumps
filterList = ["context","home"]
template_values = {
"filterList" : filterList
}
我使用以下方式将其传递给输出:
self.response.write(template.render(template_values))
我的 html 模板中的属性如下所示:
filterlist="{{ filterList|json }}"
我的问题是浏览器上的 JavaScript 无法读取该数组。在元素检查器中,它看起来像这样:
filterlist="["context", "home"]"
而对于 JSON,我想我想要像 '["context","home"]' 这样的东西,以便我的 jQuery 代码可以读取它。 [编辑:它是可读的,但作为字符串,而不是数组......如果不需要,我宁愿不必编写解析器]。
var filterList = $("body").attr("filterlist");
感谢您的帮助。
最佳答案
您已经将 JSON 传递给模板。因此只需使用以下命令输出即可:
filterlist={{ filterList|safe }};
关于javascript - 如何使用 jinja2 和 google app engine 将数组放入属性中以供 javascript 读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23600046/