我写了一个ajax调用来更改图像并在ajax调用成功时将其显示在浏览器上。但是IE和Firefox上的图像没有变化。它在Chrome上运行良好。
var url = "/store/artwork/index/renderSVGFile?"+"docID=<?php echo $docID ?>&unique="+(new Date()).getTime();
jQuery('*').css('cursor', 'wait');
jQuery.ajax({
url: url,
cache:false,
type: "POST",
data: {},
success: function(data) {
jQuery('#product-img-template').html("<img src='/path/to/image/<?php echo $docID ?+>.png' />");
jQuery('#product-img-template').css("position", "relative");
jQuery('#product-img-template').css("top","-430px");
jQuery('#product-img-template').css("left","-7px");
jQuery('#product-img-template').css("height","400px");
jQuery('#product-img-template').css("margin-bottom","-350px");
jQuery('#product-img-template').css("z-index","20");
jQuery('*').css('cursor', 'auto');
},
failure: function(data) {
jQuery('*').css('cursor', 'auto');
}
});
我可以看到图片已经更改,但未在浏览器中显示。任何人都可以帮我这个吗?
答案 0 :(得分:1)
缓存false与您显示的图像无关。所以对于行
jQuery('#product-img-template').html("<img src='/path/to/image/<?php echo $docID ?+>.png' />");
例如将其更改为此 - 就像您在ajax网址中所做的那样
jQuery('#product-img-template').html("<img src='/path/to/image/<?php echo $docID ?+>.png?" + (new Date()).getTime() + "' />");