JIKA ANDA SANGAT PERLU MENGGUNAKAN AJAX ...
Saya mendatangi kami di mana handler yang menangani bukan pilihan yang tepat. Dalam kasus saya saat mencetak melalui javascript. Jadi sebenarnya ada dua opsi untuk menggunakan gaya AJAX untuk ini:
Solusi 1
Gunakan data gambar Base64 dan layanan gambar REST. Jika Anda memiliki layanan web Anda sendiri, Anda bisa menambahkan skrip JSP / PHP REST yang menawarkan gambar dalam penyandian Base64. Sekarang bagaimana itu berguna? Saya menemukan sintaks baru yang keren untuk penyandian gambar:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhE..."/>
Jadi, Anda dapat memuat data Image Base64 menggunakan Ajax dan setelah selesai Anda membangun string data Base64 ke gambar! Sangat menyenangkan :). Saya merekomendasikan untuk menggunakan situs ini http://www.freeformatter.com/base64-encoder.html untuk penyandian gambar.
$.ajax({
url : 'BASE64_IMAGE_REST_URL',
processData : false,
}).always(function(b64data){
$("#IMAGE_ID").attr("src", "data:image/png;base64,"+b64data);
});
Solusi2:
Trik browser untuk menggunakan cache-nya. Ini memberi Anda fadeIn () yang bagus ketika sumber daya ada di cache browser:
var url = 'IMAGE_URL';
$.ajax({
url : url,
cache: true,
processData : false,
}).always(function(){
$("#IMAGE_ID").attr("src", url).fadeIn();
});
Namun, kedua metode ini memiliki kelemahan: Yang pertama hanya berfungsi di browser modern. Yang kedua memiliki gangguan kinerja dan bergantung pada asumsi bagaimana cache akan digunakan.
bersorak, akan