0

CSV2Table プラグインを使用しています: CSV2Table

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>

問題は、refが呼び出されても、CSV2Table が結果をキャッシュしているように見え、CSV ファイル (他の場所で動的に更新される) を再読み込みしていないように見えることです。

CSV2Table でキャッシュが発生しないようにする方法はありますか? ググってみましたが、キャッシュ設定が見つかりません!

助けてくれてありがとう、

マーク

4

1 に答える 1

2

CSVToTableを使用するため、グローバルな ajax キャッシュ設定を設定$.getするために使用できます。$.ajaxSetup例えば

$.ajaxSetup({ cache: false });

上記は、によって生成されたものを含む、後続のすべてCSVToTableの AJAX 要求でキャッシュが使用されないようにします。もちろん、このアプローチには欠点があり、jQuery のドキュメント自体は、ajaxSetup.

別のオプションは、プラグインのソース$.ajaxを変更して を使用し、プラグインに ajax オプションを渡すことを許可して、プラグインがキャッシュを使用しないように構成できるようにすることです。そのような変更を行う場合は、もちろん、それを作成者に送信して、メイン ブランチに組み込むことができるようにする必要があります。また、自分の変更を上書きすることなく、将来の更新をダウンロードできます。

于 2013-04-02T10:29:09.363 に答える