我对缓存的工作方式非常不熟悉,所以我想知道如何在第一次将csv从服务器中拉出来,但是在后续的刷新中使用缓存的csv文件?
我知道如何从服务器获取文件,并通过PapaParse解析它。但是,我不知道如何缓存csv,甚至不知道如何通过PapaParse访问缓存。
进一步说明这一点,我怎么能检查这个csv文件已经更新多久,如果需要更新,请将csv再次从服务器上拉出来?我知道Javascript中有一个lastModified属性,但不清楚它是否适用于缓存文件。
答案 0 :(得分:0)
您从中下载CSV文件的浏览器和服务器应该为您协商缓存;我可能会误解,但我不确定Papa Parse会怎么做。
对于上次修改日期,如果文件恰好由用户在页面上选择了<input type="file">
元素,则可以访问File对象并检查其lastModified
或lastModifiedDate
属性(至少,它们存在于Chrome上)。
要获取要下载的文件的上次修改日期,MDN has an example全部为您准备好了:
function getHeaderTime () {
alert(this.getResponseHeader("Last-Modified")); /* A valid GMTString date or null */
}
var oReq = new XMLHttpRequest();
oReq.open("HEAD" /* use HEAD if you only need the headers! */, "yourpage.html", true);
oReq.onload = getHeaderTime;
oReq.send();
这只是一个HEAD请求(只检查最后修改过的,而不是获取整个文件,你需要的只是标题)并读取Last-Modified标题。