这是我的脚本。我希望缓存结果,但如果我的鼠标再次输入请求,它会一直发送请求的请求。为什么这个jQuery Ajax不会被缓存
$('.poplist li').mouseenter(function(){
t=$(this).parent().attr("rel");
i=$(this).attr("rel");
$.ajax({
url:"/j/place",
data:{"t":t,"tid":i},
cache:true,
success:function(data){
data= jQuery.parseJSON(data);
s=$('.left[rel='+t+']');
s.find('.intro').html(data["intro"]);
s.find('.shop-avat img').attr("src","http://img.douban.com/u/plao/"+data['img']);
}
})
})
似乎是正确为止。你真的有第二个请求吗?还是只是你的回调函数再次执行? 您是否console.log您的数据属性?如果它们不同,请求将不会被缓存。 –
哪个请求没有被缓存?请求'/ j/place'或请求到'http://img.douban.com/u/plao/'+ data ['img']'? – Dancrumb
另外,您是否确定*回复不是被缓存?Firebug将显示一个请求,即使它由本地缓存服务(相对于远程服务器) – Dancrumb