JQuery AjaxリクエストがInternet Explorerでキャッシュされないようにするにはどうすればよいですか?
たとえば、 $.ajaxSetup()
を使用して、キャッシュをグローバルに無効にすることができます。
$.ajaxSetup({ cache: false });
これは、リクエストを行うときにクエリ文字列にタイムスタンプを追加します。特定の $.ajax()
呼び出しに対してキャッシュを無効にするには、次のようにローカルでcache: false
を設定します。
$.ajax({
cache: false,
//other options...
});
一意のパラメータを設定した場合、キャッシュは機能しません。次に例を示します。
$.ajax({
url : "my_url",
data : {
'uniq_param' : (new Date()).getTime(),
//other data
}});
Cache-Control: no-cache, no-store
これら2つのヘッダ値は、IEとFirefoxの両方に必要な効果を得るために組み合わせることができます。
これが答えの提案です。
http://www.greenvilleweb.us/how-to-web-design/problem-with-ie-9-caching-ajax-get-request/
アイデアは、例えば現在の日付を含むパラメータをあなたのajaxクエリに追加することです。そうすればブラウザはそれをキャッシュすることができないでしょう。
リンクを見てください、それはよく説明されています。
このように定義することができます:
let table = $('.datatable-sales').DataTable({
processing: true,
responsive: true,
serverSide: true,
ajax: {
url: "<?php echo site_url("your url"); ?>",
cache: false,
type: "POST",
data: {
<?php echo your api; ?>,
}
}
またはこのように:
$.get({url: <?php echo json_encode(site_url('your api'))?>, cache: false})
それが役に立てば幸い