ЕСЛИ ДЕЙСТВИТЕЛЬНО ВАМ НУЖНО ИСПОЛЬЗОВАТЬ AJAX ...
Я натолкнулся на случаи, когда обработчики загрузки не были подходящим выбором. В моем случае при печати через javascript. Таким образом, для этого есть два варианта использования стиля AJAX:
Решение 1
Используйте данные изображения Base64 и сервис изображений REST. Если у вас есть собственный веб-сервис, вы можете добавить сценарий REST JSP / PHP, который предлагает изображения в кодировке Base64. Теперь, как это полезно? Я наткнулся на новый классный синтаксис для кодирования изображений:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhE..."/>
Таким образом, вы можете загрузить данные Image Base64 с помощью Ajax, а затем по завершении вы создадите строку данных Base64 для изображения! Безудержное веселье :). Я рекомендую использовать этот сайт http://www.freeformatter.com/base64-encoder.html для кодирования изображений.
$.ajax({
url : 'BASE64_IMAGE_REST_URL',
processData : false,
}).always(function(b64data){
$("#IMAGE_ID").attr("src", "data:image/png;base64,"+b64data);
});
Solution2:
Обманите браузер, чтобы использовать его кеш. Это дает вам хороший fadeIn (), когда ресурс находится в кэше браузера:
var url = 'IMAGE_URL';
$.ajax({
url : url,
cache: true,
processData : false,
}).always(function(){
$("#IMAGE_ID").attr("src", url).fadeIn();
});
Однако оба метода имеют свои недостатки: первый работает только в современных браузерах. Второй имеет проблемы с производительностью и полагается на предположение, как будет использоваться кеш.
ура, будет