当前位置: 首页 > 知识库问答 >
问题:

防止缓存javascript文件,Spring

柳胡媚
2023-03-14

我的项目是这样组织的:

   src/main/java
        com.test.project
        com.test.project.configuration
        com.test.project.controller
        com.test.project.model
        com.test.project.repository
        com.test.project.service
   src/main/resources
       static
           css
           js
             jquery..
             calculate.js
           images
       templates
          admin
          user
             statistics.html
          login.html

在我的calculate.js文件中,我对数据库进行了一个ajax调用,并且我检索了一些值以显示在statistics.html中的表中,但问题是,一旦计算出这些值,这些值就会被缓存,当我再次调用calculate.js以获取其他数据时,第一次显示的信息也是相同的。

spring.resources.chain.cache=false
spring.resources.chain.strategy.content.enabled=true
spring.resources.chain.strategy.content.paths=/**

但他们还在。我怎么解决这个?

编辑:

这是我的rest控制器:@RequestMapping(value=“CalculatedResults/{id}”,method=RequestMethod.Get)public SurveyComparison getComparisonResultById(@PathVariable(“id”)long id,final HttpServletResponse响应){response.SetHeAder(“Cache-Control”,“no-Cache”);return CalculateService.GetSurveyById(id);}

我的ajax调用:

function getSurveyResults(id){
var url="/calculatedResults/"+id;
requestZ=$.getJSON(url,function(data){
    surveyResults=data;
});
}

getSurveyResults(surveyId);

$.when(requestZ).then(function(){

document.getElementById("score1").innerHTML=surveyResults.scored1;}

我用不同的值填充某个id的某些列

共有1个答案

徐文斌
2023-03-14

尝试以下操作以停止缓存page,因为它对我有效:

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 
 类似资料:
  • 问题内容: 我有一个简单的html: 在test.js中,我更改了Javascript函数,但是我的浏览器正在缓存该文件。如何禁用脚本src的缓存? 问题答案: 将随机查询字符串添加到 您可以通过在每次更改时增加查询字符串来手动执行此操作: 或者,如果您使用服务器端语言,则可以自动生成以下内容: ASP.NET:

  • 问题内容: 我正在使用PHP开发一个简单的网站。 开发配置: WAMP 生产配置: LAMP 在测试时,我更改了CSS文件,但是当我重新加载页面时,我的浏览器(不确定)仍使用旧的缓存CSS。 我进行了一些谷歌搜索,发现了已经尝试过的其他解决方案 在CSS末尾附加查询 使用(在Firefox中)强制获取资源 禁用Firefox缓存以及使用Firefox加载项。 当这些都不起作用时,我做了更多的谷歌搜

  • 问题内容: 这就是我们防止浏览器缓存JS和CSS文件的方式。这似乎有点hacky ..有更好的方法吗? 更新:我们要防止缓存的原因是为了确保在执行新发行版时加载较新版本的文件。 问题答案: 您希望缓存CSS和JS。当它们回来时,它加快了网页的加载。添加时间戳后,您的用户将不得不一次又一次下载它。 如果要确保它们始终具有新版本,则要使构建系统在文件末尾添加一个构建号而不是时间戳。 如果您只是在开发中

  • 问题内容: 所以我正在做这个小项目,但是在捕捉方面有些麻烦。不能正常工作的一件事是,浏览器一直在缓存包含保存数据的json文件,当我在其他地方更新json时,浏览器会返回到已缓存的json文件的旧版本并读取该旧版本。不幸的是我不想要那个。我根本不希望浏览器完全缓存文件,以便每次加载页面时,它将向服务器请求json文件并根据该文件而不是已缓存的任何文件进行操作。但是,我希望能够缓存页面上的所有其他内

  • 问题内容: 哪种方法能让浏览器使用js文件的缓存版本(从服务器端)? 问题答案: 或.htaccess文件中

  • 我正在MAMP中开发一个单页Javascript应用程序。我的JavaScript和超文本标记语言模板文件在请求之间被缓存。 有没有一种简单的方法可以在MAMP中指出我想要阻止http文件缓存?可能使用文件?我应该把或修改Mac上MAMP的虚拟主机?