0

クリックイベントでajaxのサブカテゴリリストを含むポップアップメニューをロードしました。

例: 10 のメイン カテゴリがあり、各カテゴリには多数のサブカテゴリのリストがあり、ajax によってポップアップに読み込まれます。カテゴリ A をクリックすると、カテゴリ A のサブカテゴリが読み込まれ、カテゴリ B に移動すると、カテゴリ B のサブカテゴリが読み込まれ、戻ってきてカテゴリ A をもう一度クリックすると、リクエストが再びサーバーに送られ、読み込みに同じ時間がかかります。

このデータをキャッシュからロードする必要があります。cache: trueajax関数を再度設定すると、まだロードされ、リクエストが送信されます。

同じデータをサーバーに再度要求する必要はありません。カテゴリA.これを行う方法はありますか?

また、インターネット接続がないために失敗した場合、サーバーを再度リクエストすることは可能ですか?

コード:

$.ajax({
   url:'/category/list/',
   data:'catid='+$(".category").attr('data-id'),
   cache: true,
   dataType:'json',
   beforeSend:function()
   {
    $(".subcatlist").html('<div class="loader">loading...</div>');
   }
   success:function(json){
     $(".loader").remove();
     $(".subcatlist").html(json.sublist);
   }
   error:function()
   {
     console.log('error');
   }

});
4

2 に答える 2

0

これをスクリプト ファイルの先頭で使用します。たとえば、function.js / default.js / admin.js、または<script type="text/javascript">タグの後に使用します。

$.ajaxSetup ({
    // Enable caching of AJAX responses
    cache: true
});
于 2013-09-30T16:48:21.030 に答える