XDomainRequest

L'objet XDomainRequest n'est pas standard. C'est un objet créé par Microsoft, utilisable en JavaScript et qui est implémenté dans Internet Explorer 8 et 9 pour échanger des données entre sites différents, comme le fait l'objet XMLHttpRequest entre le navigateur et le serveur sur un seul domaine.

Voici la spécification actuelle de l'objet XDomainRequest.

Attributs

contentType

responseText

timeout

Evènements

onerror

onload

onprogress

ontimeout

Méthodes de XDomainRequest

open

send

abort

Exemples

Code complet d'une requête GET avec XDomainRequest.

xdr = new XDomainRequest(); 
xdr.onload=function()
{
    alert(xdr.responseText);
}

xdr.open("GET", "http://www.autresite.fr/monfichier.txt");
xdr.send(); 

Code complet d'une requête POST.

xdr = new XDomainRequest(); 
xdr.onload=function()
{
    alert("terminé");
}
xdr.open("POST", "http://www.autresite.fr/monscript.php");
xdr.send("données à envoyer"); 

Conclusion

Il n'y a pas de différence majeure entre les interfaces de XDomainRequest et celle de son prédécesseur, l'objet XMLHttpRequest (créé à l'origine par Microsoft également). On notera cependant deux ajouts utiles: ontimeout et onprogress.

Une autre différence également, l'évènement onload qui se substitue à onreadystatechange et readyState et en fait simplifie l'utilisation de l'objet.
Cependant onload et onprogress sont prévus dans la spécification Level 2 de XHR.

On ne devrait pas utiliser cet objet pour un site d'usage public pour l'instant. D'une part la définition n'en est pas terminée, d'autre part il ne fonctionne que sur Internet Explorer 8 et 9 et est remplacé par XHR 2 sur IE 10. On peut utiliser un substitut tel que décrit dans l'article Ajax entre domaines différents.

Plus d'information

© 2008-2013 Xul.fr