正常代码
<script>
$(document).ready(function () {
var update = setInterval(function () {
{% for ip in lis %}
$("#{{ ip[0] }}").load("/tools/state/",{"ip":"192.168.1.1" });
{% endfor %}
},1000);
});
{% for ip in lis %}
{{ ip[0] }}
{% endfor %}
</script>
里面{"ip":"192.168.1.1" }的IP段是想用传值的{{ ip[1] }}代替的可是直接这么写进去是不生效的,大概是因为外部已经有了{}了,这该怎么插入进去呢?
在一本讲flask的书里面找到了答案,这种在html模板中写入语法的方式应该叫jinja语法(个人理解),jinja语法里可以使用for语句if语句等等,而我这里的需求就要用到jinja的过滤器,这里面有safe、default、float、int等等。我需要用到的就是tojson,写法:
这么写就能保证我传过去的对象是可被json模块序列化的。