クリックイベントでajaxのサブカテゴリリストを含むポップアップメニューをロードしました。
例: 10 のメイン カテゴリがあり、各カテゴリには多数のサブカテゴリのリストがあり、ajax によってポップアップに読み込まれます。カテゴリ A をクリックすると、カテゴリ A のサブカテゴリが読み込まれ、カテゴリ B に移動すると、カテゴリ B のサブカテゴリが読み込まれ、戻ってきてカテゴリ A をもう一度クリックすると、リクエストが再びサーバーに送られ、読み込みに同じ時間がかかります。
このデータをキャッシュからロードする必要があります。cache: true
ajax関数を再度設定すると、まだロードされ、リクエストが送信されます。
同じデータをサーバーに再度要求する必要はありません。カテゴリ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');
}
});