我如何缓存一个用于解析Papa Parse的csv?

时间:2014-11-23 05:46:06

标签: javascript php browser-cache papaparse

我对缓存的工作方式非常不熟悉,所以我想知道如何在第一次将csv从服务器中拉出来,但是在后续的刷新中使用缓存的csv文件?

我知道如何从服务器获取文件,并通过PapaParse解析它。但是,我不知道如何缓存csv,甚至不知道如何通过PapaParse访问缓存。

进一步说明这一点,我怎么能检查这个csv文件已经更新多久,如果需要更新,请将csv再次从服务器上拉出来?我知道Javascript中有一个lastModified属性,但不清楚它是否适用于缓存文件。

1 个答案:

答案 0 :(得分:0)

您从中下载CSV文件的浏览器和服务器应该为您协商缓存;我可能会误解,但我不确定Papa Parse会怎么做。

对于上次修改日期,如果文件恰好由用户在页面上选择了<input type="file">元素,则可以访问File对象并检查其lastModifiedlastModifiedDate属性(至少,它们存在于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标题。