javascript - 如何使用 jinja2 和 google app engine 将数组放入属性中以供 javascript 读取

标签 javascript jquery python json google-app-engine

我试图通过谷歌应用程序引擎中的 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/

相关文章:

javascript - 从 Javascript 访问 CSS3 媒体查询

javascript - JQuery 手机 : modifying <a> button data-inline ="true" using CSS @media query

javascript - 使用 jQuery 加载外部 js 文件

Python AWS Boto URL 连接错误

Javascript 正则表达式将文本格式化为千位(包括小数)

javascript - Rest store不向服务器发送请求

javascript - 使用 Javascript AWS SDK 将使用 Cordova Media Capture 插件捕获的视频上传到 S3

javascript - 如何防止最后一里的点击事件触发?

python - 使用另一个数据框的值更新数据框 - python

python - Pandas groupby 具有滚动日期偏移的多列 - 如何?