如何把数组在属性是可读的javascript使用jinja2和谷歌应用引擎
how to put array in attribute to be readable by javascript using jinja2 and 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 }};
我尝试了上面建议的所有方法,但仍然有一些问题。最后,我使用JSON.parse()方法找到了一个解决方案。通过在jQuery代码中添加以下行:
var filterList = JSON.parse('{"filterList":'+$tasklist.attr("filterlist")+'}');
我可以访问数组filterList.filterList.
我不知道哪里出了问题,但我怀疑我没有正确使用jinja2 python库。尽管如此,这个解决方案对我来说还是有效的。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用url加载程序在webpack中导入多个图像
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用agility.js进行页面布局和合成
- 使用Clipboard.js复制span文本
- 使用Jinja2的JavaScript转义字符串
- 使用jinja2将unicode字符串移交给javascript
- 使用闭包编译器缩小包含 Jinja2 表达式的 JavaScript 代码
- 是否可以使用 javascript 更新 jinja2 模板变量
- 使用 jinja2 和 google app engine 将数据从 python 处理程序获取到 javascript
- 在 Jinja2 模板中使用包含语句传递变量
- 在Javascript中使用Jinja2模板的最佳方式
- 如何在不违反内联脚本CSP的情况下使用jinja2服务器端渲染和react
- 使用flaskr和jinja2运行highcharts
- 如何把数组在属性是可读的javascript使用jinja2和谷歌应用引擎
- 使用jinja2模板(列表和dicts)将Python数据结构转换为js数据结构
- JavaScript语法 - 使用Jinja2和Google App Engine