2014-12-19 87 views
0

我有一個JavaScript程序,從文本文件(只是一個普通的* .txt文件)中提取數據,然後將其顯示在表中。除了一個小問題之外,它按預期工作。如果我更新數據所在的文本文件,則更新不會顯示在表上。原因是該文件正在被瀏覽器緩存。有沒有辦法強制javascript從文件的最新版本讀取,而不是從緩存版本讀取。再次,這不是與CTRL-5一樣的javascript文件的問題,或者shift + ctlr + r不起作用,並且更新JavaScript文件本身的行爲與預期相同。它只是數據所在的文件是問題所在。JavaScript或Firefox清除緩存文件

要閱讀文本文件,我使用webix工具包,它使用ajax來讀取文件。文本文件的讀取和解析通過javascript和webix工具包完成。我的程序中的html很少。

//the name of the file is dependant of an user specified input 
var theURL = rossObj.store_number.store_number + "macaddress.txt "; 

webix.ajax(theURL,{ 
    //response 
    error:function(text, xml, XmlHttpRequest){ 
     webix.alert({ ok:"OK", type:"alert-warning", text:"could not open the following URL --> "+theURL, width:"400px"}); 
     return "mac_address_error"; 
    }, 
    success:function(text, xml, XmlHttpRequest){ 
     //parse the file; 
    } 
}); 
+0

你是如何更新文本文件?手動或通過腳本?你怎麼叫它?標準href?你可以添加js到html嗎? – Billy

+0

我將更新我的文章以包含更多信息和部分代碼 – Geo

回答

0

嘗試添加一個隨機數的URL作爲查詢字符串的結尾,服務器會忽略,但瀏覽器將把它作爲一個新的文件

var theURL = rossObj.store_number.store_number + "macaddress.txt?"+Math.floor((Math.random() * 10000) + 1); 
+0

HUH !!!那工作。但爲什麼????? – Geo

+0

瀏覽器認爲這是與查詢字符串緩存的文件不同的文件。服務器忽略查詢字符串,認爲該文件需要處理,並將其傳遞給 – Billy