【发布时间】:2012-01-14 10:28:05
【问题描述】:
我在加载图像时遇到问题。图像仅在第一次加载,之后我得到相同的图像。只有第一次去 photoHandler.ashx。 这里会发生什么? jquery 缓存图像吗?如何始终加载正确的图像? 这是我的功能:
function getObjectFromServer()
{
var hUrl = "myHandler.ashx";
var data = {};
var data.queryStringKey = "theKey";
$.post(hUrl, data, function(response){
if(response.length>0)
{
var myObj = jQuery.parseJSON(response);
var $photo = $("<img alt='' class='hidden' />").load(function(){
$("#photo-container").append($photo);
$photo.fadeIn('slow');
}).attr('src', myObj.photoSrc);
//myObj.photoSrc contains: photoHandler.ashx?photoId=anUniqueIdentifier
}
});
}
编辑: 如果我使用萤火虫进入元素,我可以看到正确的“anUniqueIdentifier”。 MyHandler.ashx 总是被调用。我遇到了 photoHandler.ashx 的问题。我添加了随机,但它对我不起作用:
var randomQS = "&Id=" + Math.round(new Date().getTime() / 1000);
//...
$photo.fadeIn('slow');
}).attr('src', myObj.photoSrc + randomQS);
更新:
我解决了,问题是PhotoHandler.ashx,这个控制器正在缓存图片,这样给url添加随机值不起作用。
谢谢。
【问题讨论】:
-
如果有的话,是浏览器,而不是 jQuery,这是缓存。