2

我有一个 ajax 上传脚本,它返回一个图像,该图像应该换出 dom 中现有的加载图像。

例如

<img src="http://site.com/user1-profile-pic.jpg" id="profile" />

并上传新图像返回 json

{"url": "http://site.com/user1-profile-pic.jpg" }

然后我运行 jQuery

$("#profile").attr('src', myjson.url);

但图像 url 总是相同的,所以我想破坏该图像的缓存以再次加载它。它可以像附加?timestamp到图像 URL 的末尾一样简单吗?

4

1 回答 1

5

它是相同的,因为它在您使用相同的名称时被缓存,诀窍是使用不同的名称。

由于您不能使用其他名称,因此我们在其上附加了一些内容:

var dt = new Date(); 
$("#profile").attr( 'src', myjson.url + '?dt=' + dt.getTime() );

只需一个电话(如Sushil所说):

$("#profile").attr( 'src', myjson.url + '?dt=' + (+new Date()) );

这将输出为:

在此处输入图像描述

于 2012-09-12T10:25:34.063 回答