2013-04-02 49 views
0

我使用CSV2Table插件:CSV2TableCSV2Table似乎是緩存結果 - 我該如何阻止它?

HTML頁面的正文是:

<body onload="JavaScript:timedRefresh();"> 
    <div id="CSVTable"></div> 
    </body> 

的TimedRefresh腳本是:

<script type="text/JavaScript"> 
     function timedRefresh() { 
     setInterval(function(){ 
     ref()},30000); 
    </script> 

到CSV加載到腳本DIV是:

 <script type="text/javascript"> 

    function ref(){ 
     $('#CSVTable').CSVToTable('q.csv', { loadingImage: 'images/loading.gif', startLine: 0, tableClass:'table table-condensed table-striped table-bordered table-hover' }).bind("loadComplete",function() { 
     $('#CSVTable').find('TABLE').tablesorter().tableClass('table table-condensed');  

        }); 
     </script> 

概率lem是,雖然調用了ref,但CSV2Table似乎在緩存結果 - 而不是重新讀取CSV文件(該文件在其他地方動態更新)。

有沒有辦法阻止在CSV2Table上發生緩存?我試過Google搜索,但無法找到它的緩存設置!

感謝您的幫助,

馬克

回答

2

CSVToTable使用$.get,所以你可以使用$.ajaxSetup設置全局AJAX緩存設置;例如

$.ajaxSetup({ cache: false }); 

所有後續AJAX請求,包括通過CSVToTable產生的那些正在使用上述將防止緩存。這種方法當然有缺點,jQuery文檔本身建議不要使用ajaxSetup

另一種選擇是更改插件的source,使用$.ajax,並允許將ajax選項傳遞給插件,以便插件可以配置爲不使用緩存。如果您繼續前進並做出這樣的改變,您當然應該將其提交給作者,以便它可以合併到主分支中,並且您可以下載未來的更新而不覆蓋自己的更改。

相關問題