jQuery Ajax 加载图片时,如何避免缓存造成回调函数不执行?
使用 jquery ajax 加载图片时,有时会遇到这样的问题:如果图片已被浏览器缓存,则 ajax 请求不会执行 done() 中的回调函数。这与预期行为不同,因为通常希望即使图片已缓存,回调函数也能被调用。
要解决此问题,这里有一个解决方案:
在 ajax 请求中添加以下选项:
cache: false
例如:
$.ajax({ url: imgUrl, type: 'get', cache: false, processData: false, }).done(function () { //... });
添加此选项后,ajax 请求将始终重新加载图片,即使它已被缓存。因此,done() 中的回调函数将始终被调用。