2011-09-13 23 views
1

私は自分のサイトにオートコンプリートボックスを持っています。私はTokeninputを使用しています。結果がない場合は、ユーザーがリンクをクリックして追加します。問題は、既にキャッシュされている正確なクエリを既に入力している場合、ページを更新してドロップダウンの結果を確認する必要があることです。とにかく、特定のajax呼び出しのキャッシュを防ぐために存在しますか?特定のURLのキャッシュを防止する手段はありますか?

答えて

3

cacheオプションをjQuery.ajaxfalseに設定します。これは、AJAX呼び出しのキャッシュを防止します。現在のタイムスタンプに設定されている_という新しいクエリ文字列パラメータを追加することによって動作します。

2

は、要求されたURLの末尾に独自のクエリパラメータを追加します。通常、これは乱数またはタイムスタンプで行われます。私はタイムスタンプを好む。

function makeURLUnique(url) { 
    var parm = "unique=" + Date.now(); // get timestamp in milliseconds 
    if (url.indexOf("?") == -1) { 
     parm = "?" + parm;    // no question mark, add one 
    } else if (!url.match(/\?$/)) { 
     parm = "&" + parm;    // no question mark at the end, must be other parms 
    } 
    return(url + parm); 
} 

あなたは上述した正確に何をしますキャッシュを無効にするjQueryのオプションを使用することができ、URLをフェッチするためにjQueryを使用して、あなたのために自動的にそれを行うされている場合は、次の

$.ajax(yourURL, {cache: false}).then(...); 
関連する問題