angular2前端F5刷新时候页面内容没有改变!使用本地缓存,200OK(from cache)

yangxuefeng09 2017-02-15 08:31:27
我们用angularq2 开发了前端,后端服务器使用nginx。发现一种现象就是有些页面刷新的时候,没有从后端服务器返回最新的数据。后来F12打开浏览器调试之后看到,当我们刷新页面的时候,向后端发送的restful请求,使用的竟然是缓存数据。
返回的是200OK(from cache
如图可以看到 request url 是一个restful接口,这个接口用来向后端服务器取回数据,但是当刷新这个页面的时候,显示的是
200OK(from cache) 。而且可以看到response的竟然是我们的整个项目的index.html的源代码,后来查了一些资料说可能是nginx服务器缓存策略的问题。但是我看到我的respone header中 有etag标签,也有last modify。

请问为什么刷新的时候没有去服务器取数据???即使是使用本地缓存response中也不应该返回index.html的源代码啊?
请问这个跟nginx服务器的配置有哪些关系????

求各位帮忙 谢谢大家
...全文
3408 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
akaaker 2018-06-29
  • 打赏
  • 举报
回复
嗯,如果我瞎了的话,我瞎之前最后一句话一定是6楼说得对
Royal_lr 2017-11-22
  • 打赏
  • 举报
回复
6楼正解,页面中要禁用缓存
MiceRice 2017-11-20
  • 打赏
  • 举报
回复
从描述现象来看可能同时存在两个问题: 1、作为前置机的Nginx做了不正确的缓存配置; 2、页面中没有强制禁用缓存的指令,比如: <meta http-equiv="Expires" content="0"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-control" content="no-cache"> <meta http-equiv="Cache" content="no-cache">
笃定i 2017-11-02
  • 打赏
  • 举报
回复
把ajax 设置禁用缓存,顺便,你的url 请求链接后面加一个时间戳参数, 因为ajax你启用缓存,请求的时候会自动去对比你之前请求过的url,如果一样,就不会去拿最新的数据,请给分。

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧