Plusieurs partie distincte au code :
Commencons par la partie centrale :
Code:
var http;
function importXML(request){
http = getHTTPObject();
http.open("GET", request, true);
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http.send(null);
http.onreadystatechange = function (){retour_requete();}
}
importXML recoit une url en argument.
Cette fonction initialise un objet xmlHttpRequest à l'aide de la fonction getHTTPObject().
Ensuite elle envoie une requete http de type GET à l'url passée par argument.
Lors du changement d'état de la connexion http, c'est la fonction retour_requete() qui est executée.
Fonction retour_requete() :
Code:
function retour_requete() {
if (http.readyState == 4 && http.status == 200){
traitement_http();
}
}
function traitement_http(){
var xmlDoc = http.responseXML;
alert(http.responseText);
}
Lors que le statut = 200 et que readyState = 4, alors la fonction traitement_http() est appelée.
La fonction traitement_http() montre à l'utilisateur le résultat de la requete sous forme de texte. Possibilité de traiter le resultat sous forme d'XML.
Dans ton cas, tu n'as pas besoin de traiter le retour de la requete.
La dernière partie traite de l'initialisation de l'objet xmlHttpRequest. En effet, c'est objet est implémenté de manière différente sous IE et Firefox. D'où la nécéssité de faire une initialisation en fonction du browser.
Code:
function getHTTPObject() {
var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@else
xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
}
Cette partie de code là, je l'ai copiée d'un tuto
Rem : C'est Microsoft qui est l'initiateur de l'objet xmlHttpRequest en 1999. Mozilla a "copier" la fonctionnalité.