Dans mon précédent billet, j'expliquais comment charger du texte avec Ajax.


Pour charger de l'XML avec, il suffit de remplacer responseText par responseXml, retournant alors un objet javascript plutôt que du texte.

AJAX n'est pas prévu pour transférer des données binaires mais uniquement du texte. Une solution pourrait être de transférer l'image en l'encodant en base64 et de l'intégrer via les data-uri en utilisant un code ressemblant à ceci :
imgtest=new Image();
imgtest.src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHV..."
Problème : une image encodé en base64 prends 33% de place en plus.

La solution est en fait plus simple et était déjà utilisa avant l'apparition d'ajax: le préchargement d'images avec l'utilisation d'onload pour s'avoir quand elle a fini son chargement
imgtest=new Image();
imgtest.src="example.com/image.jpg"
imgtest.onload=function(){ imgtest.style.display='block'; }

On pourra alors combiner les deux méthodes pour charger par exemple une image et sa description.