如何防止在django模板中缓存我的Javascript?

时间:2013-09-10 13:07:33

标签: javascript django django-templates browser-cache

这是我的javascript函数:

<script>
   function text() {
      var i = new Array();
      {% for content in table %}
         i[{{content.id}}]= document.getElementById('checkbox{{content.id}}').checked;
      {% endfor %}

      return i;
   }
</script>

正如您所看到的,我在其中有一些django模板代码。如何防止我的脚本缓存?

我看到this,但它没有解决我的问题!

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解正确,但据我所知,这与缓存无关:这是一个理解模板渲染时间与执行脚本时的关系。

此脚本包含在模板中。该模板在服务器端呈现。因此,脚本将生成 - 并发送到浏览器 - 其值为content,因为它们此时

如果你有一个Ajax函数,以后会更新HTML页面中的内容,这个脚本根本不关心,因为你没有做任何更新它 - 再次,当模板是模板时,脚本中的值是硬编码的发送到浏览器。

你可能根本不想这样做。相反,您应该找到或定义包含所有复选框的父元素 - 例如div或表行 - 然后动态迭代该元素的所有后代以查找任何复选框的值。然后,您可以从Ajax函数调用此脚本,以在内容更改时更新值。