jquery.getJSON缓存问题
jquery请求本地json数据时,发现有缓存:
Status Code:200 (from disk cache)
状态 类型 说明
200 form memory cache 不请求网络资源,资源在内存当中,一般脚本、字体、图片会存在内存当中
200 form disk ceche 不请求网络资源,在磁盘当中,一般非脚本会存在内存当中,如css等(页面关闭磁盘缓存也不会被清除,只能强刷)
200 资源大小数值 从服务器下载最新资源
304 Not Modified 报文大小 请求服务端发现资源没有更新,使用本地资源
详情:https://blog.csdn.net/garrettzxd/article/details/80684880
去除缓存的两种方式:
1.$.getJSON(path, {time:new Date().getTime()},(config) => {
})
2.$.getJSON(path+new Date().getTime()+‘’, {time:new Date().getTime(),cache: false},(config) => {
})
原理都是在get请求路径拼接参数,从而每次都去服务重新获取数据
ajax请求,协商缓存设置
response.Headers["Last-Modified"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//服务端上次修改文件的时间
response.Headers["ETag"] = id; //补充
response.CacheControl = "private";//缓存读取权限