加载jsRender远程模板永远不会更新

时间:2015-05-05 18:43:52

标签: jquery jsrender

我正在尝试使用这段代码

从文本文件加载jsRender模板
 $.get('/js/templates/template1.txt', function (value) {
        ..do stuff;
});

这一切正常,直到我更改模板。更改模板后,txt文件永远不会重新加载,我呈现的HTML永远不会反映更改,除非我更改txt文件的名称。

有没有办法清除对象或任何人或任何人可以解释为什么它不想重新加载txt文件。

编辑:

以下是函数中的代码,用于渲染传入数据的模板(' ... do stuff。区域从上面开始)

 var personTemplate = $.templates(value);
 var html = personTemplate.render(inputData);
 $(selectorName).html(html);

3 个答案:

答案 0 :(得分:0)

它可能正在缓存在服务器上。您需要确保使用适当的缓存策略标头提供文件。例如,如果您在服务器上使用node.js,则可以编写

res.header('Cache-Control', 'no-cache');

res.header('Cache-Control', 'no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0');

或类似。

答案 1 :(得分:0)

尝试在进行ajax查询时禁用缓存。您可以在jQuery中执行此操作,如下所示

$.ajax({
    url: templatesUrl,
    cache: false,
    success: function (data) {
    }
});

答案 2 :(得分:0)

一些实验让我相信存在某种缓存,但它似乎与jQuery或jsRender无关。

我尝试了一些不同的扩展,似乎.html扩展名不会被缓存。

任何遇到此

的人都可以获得相关信息

另外,作为.html文件,它更容易在IDE而不是.txt文件中使用它们