我通过点击事件在 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');
}
});