AJAX KULLANMAK GEREKİRSE ...
Yükleme işleyicilerinin doğru seçim olmadığı kullanımlarla karşılaştım. Benim durumumda javascript ile yazdırırken. Yani bunun için AJAX stilini kullanmak için aslında iki seçenek var:
Çözüm 1
Base64 görüntü verilerini ve bir REST görüntü hizmetini kullanın. Kendi web hizmetiniz varsa, Base64 kodlamasında resim sunan bir JSP / PHP REST betiği ekleyebilirsiniz. Şimdi bu nasıl faydalı? Görüntü kodlaması için yeni ve güzel bir sözdizimi ile karşılaştım:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhE..."/>
Böylece Ajax kullanarak Image Base64 verilerini yükleyebilir ve ardından tamamlandığında görüntüye Base64 veri dizesini oluşturabilirsiniz! Çok eğlenceli :). Bu siteyi görüntü kodlaması için http://www.freeformatter.com/base64-encoder.html kullanmanızı tavsiye ederim .
$.ajax({
url : 'BASE64_IMAGE_REST_URL',
processData : false,
}).always(function(b64data){
$("#IMAGE_ID").attr("src", "data:image/png;base64,"+b64data);
});
Solution2:
Önbelleği kullanmak için tarayıcıyı kandırın. Bu, kaynak tarayıcı önbelleğinde olduğunda size güzel bir fadeIn () sağlar:
var url = 'IMAGE_URL';
$.ajax({
url : url,
cache: true,
processData : false,
}).always(function(){
$("#IMAGE_ID").attr("src", url).fadeIn();
});
Ancak, her iki yöntemin dezavantajları vardır: Birincisi sadece modern tarayıcılarda çalışır. İkincisi performans hataları ve önbelleğin nasıl kullanılacağı varsayımına dayanır.
alkış, irade