ЕСЛИ ДЕЙСТВИТЕЛЬНО ВАМ НЕОБХОДИМО ИСПОЛЬЗОВАТЬ 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();
});
Однако оба метода имеют свои недостатки: первый работает только в современных браузерах. Второй имеет проблемы с производительностью и полагается на предположение, как будет использоваться кеш.
ура,
будет