7

ここには、Wufoo フォームと Wufoo jQuery API を使用したサイトがあります。

API からデータを取得し、並べ替えてページに表示します。現在のトップ 10 よりも多い数のフォームを送信すると、フォームがそれ自体にリダイレクトされるため、右側がリアルタイムで更新されます。これは行いますが、IE では行いません。代わりに、フォームが送信されてから新しいデータが表示されるまでの間に不要な遅延が発生しているように見えます。ブラウザーを閉じてページを再度開くとうまくいくようですが、役に立ちません。

使用しているjQueryは次のとおりです。

<script>
    $.wufooAPI.getEntries({
        "callback"   : processEntries,             
        "formHash"   : "x7x1x7",                   
        "sortID"   : "Field3",                   
        "sortDirection"   : "DESC",
    });
    function processEntries(data) {
        $.each(data.Entries.slice(0, 10), function(entriesIndex, entriesObject) {
            // Make sure this entry has all the required bits
            if (entriesObject.Field1 && entriesObject.Field3) {
                $("#attendeeTemplate").tmpl(entriesObject).appendTo("#people ul");  
            }
        });
    };

</script>

テンプレートコードは次のとおりです。

            <script id="attendeeTemplate" type="text/x-jquery-tmpl">
                <li>
                    <h4>${Field1}</h4>
                    ${Field3} minutes
                </li>
            </script>

IE8 と 9 を除くすべてのブラウザーで完全に動作しますが、データをキャッシュしていて、サーバーから要求を取得していないように見えます。

IE で jQuery のキャッシュを停止する方法はありますか?

4

1 に答える 1

20

簡単な方法は、リクエスト URL をタイムスタンプでごまかすことです (ただし、これは少し不器用です)。ajax リクエストのキャッシュを無効にすることができます:

$.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
});

MSDN には、IE http://support.microsoft.com/kb/234067のキャッシュ回避に関するページがあります。

于 2012-05-16T22:32:30.510 に答える