2014-11-23 70 views
0

我對緩存的工作方式非常不熟悉,所以我想知道如何在第一次將csv從服務器上拉下來,但在隨後的刷新中使用緩存的csv文件?如何緩存Papa Parse的csv進行解析?

我知道如何從服務器獲取文件,並通過PapaParse解析它。但是,我不知道如何使csv緩存,甚至不知道如何通過PapaParse訪問緩存。

進一步與此,我怎麼然後檢查多久以前這個csv文件已被更新,如果它需要更新拉再次從服務器的csv?我明白Javascript中有一個lastModified屬性,但是不清楚它是否適用於緩存文件。

+0

我對一個稍微不同的問題的回答可能會有所幫助。 http://stackoverflow.com/a/9691669/212940 – vascowhite 2014-11-23 06:09:51

回答

0

您正在下載CSV文件的瀏覽器和服務器應爲您協商緩存;我可能會誤解,但我不確定Papa Parse會怎麼做。

對於最後修改日期,如果文件恰好通過頁面上的<input type="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頭文件。