我已经通过点击事件加载了一个带有子类别列表的弹出式菜单。ajax加载后从缓存中加载数据
例如:有10个主类别,每个类别都有很多子类别列表,并且它由ajax在弹出窗口中加载。当我点击类别A时,它加载了类别A的子类别,当我移动到类别B时,它加载类别B的子类别,当我回来时再次点击类别A再次请求到服务器,并且需要相同的时间加载。
我需要从缓存中加载这些数据。当我再次在ajax函数中设置cache: true
时,它仍然会加载并发送请求。
我不需要再向服务器请求相同的数据,即。类别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');
}
});
接收php脚本是什么样的?哪些头文件是由php脚本发送的? – TheWolf
我已经加载了json数组中的html。我没有在代码中定义任何头文件。可能默认情况下它会加载一个json类型的内容。 – shyammtp