如何通过 Java 脚本为 Jinja2 变量设置值
我正在尝试使用一组 Jason 数据对象填充 HTML 表。为了做到这一点,我使用 jinja 模板。出于数据填充的目的,我将迭代 jinja 数据列表,并且我想从 java 脚本函数设置列表值。
HTML 模板:
{% for object in list %}
<td>object.name</td>
<td>object.age</td>
{% endfor %}
在 AJAX 处理程序中 我通过 JSON 发送列表,并在我的 Java 脚本中使用它。 如何从 Javascript 或 Ajax 处理程序设置列表 jinja2 变量值?
I am trying to populate an HTML table using a set of Jason Data Objects. In order to do this i am using jinja template. For data population purpose um going to iterate a jinja data list and i want to set the list value from a java script function .
HTML TEMPLATE:
{% for object in list %}
<td>object.name</td>
<td>object.age</td>
{% endfor %}
IN AJAX HANDLER Im Sending a list Via JSON and its in my Java script.
How to set the list jinja2 variable value from Javascript or from Ajax Handler?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你应该考虑一下你在这里问的是什么。 Jinja2 是一种服务器端技术,模板在发送到浏览器之前进行渲染。在列表变量转换为 HTML 之后,您的 Ajax 函数在客户端运行。没有办法做你所要求的事情。
要么让你的 Ajax 函数返回渲染的 HTML 而不是 JSON(即在 Ajax 服务器端处理程序中渲染 Jinja 模板),要么使用客户端模板技术 - Jinja2 的作者 Armin Ronacher 也写过 JsonJinja 可能会做你想做的事。
You should think about what you're asking here. Jinja2 is a server-side technology, and the template is rendered before it gets sent to the browser. Your Ajax function runs on the client side, after the list variable has been turned into HTML. There is no way to do what you're asking.
Either get your Ajax function to return rendered HTML rather than JSON (ie render the Jinja template in the Ajax server-side handler) or use a client-side template technology - the author of Jinja2, Armin Ronacher, has also written JsonJinja which might do what you want.