Xmlhttprequest

Fermé
basabisso Messages postés 5 Date d'inscription mercredi 22 octobre 2008 Statut Membre Dernière intervention 25 octobre 2008 - 24 oct. 2008 à 19:03
briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 - 24 oct. 2008 à 20:51
Bonjour,
Qu'est ce que signifie xmlhttprequest?Et dans quels navigateur elle est utilisée??
Merci d'avance
a+

4 réponses

multicite Messages postés 47 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 22 juillet 2009 14
24 oct. 2008 à 20:25
Bonsoir,

Il s'agit de la fonction qui permet de créer des pages web en Ajax : c'est à dire de faire un traitement particulier sur un serveur et/ou de changer une partie de la page sans la recharger en totalité.


https://fr.wikipedia.org/wiki/XMLHttpRequest :

XMLHttpRequest a d'abord été développé par Microsoft, en tant qu'objet ActiveX, pour Internet Explorer 5.0. (septembre 1998). Il a ensuite été repris et implémenté successivement sous Mozilla 1.0 (mai 2002), Safari 1.2 (février 2004), Konqueror 3.4 (mars 2005) et dernièrement Opera 8.0 (avril 2005).



ec
-1
briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 18
24 oct. 2008 à 20:31
Oui c'est du Ajax, enfin +/-
ce seraiyt peut être bien de te donner un exemple de xhttpRequest:
L'exemple est utilisé dans un de mes sites pour faire un conhtrole sur le login et afficher si c'est bon ou pas.


function handle_login()
{
var loginRequest = null;
update_status( "Votre requête est en cours de traitement ...", "handle.gif");

// Définition du connecteur en fonction du navigateur :
if (window.XMLHttpRequest)
{
loginRequest = new XMLHttpRequest();
if (loginRequest.overrideMimeType)
{
loginRequest.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject)
{
try {
loginRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
loginRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
update_status( "Impossible de communiquer avec le serveur", "handle.gif");
}
}
}

// le secret d'AJAX réside en partie dans la réception et le traitement des résultats en background :
loginRequest.onreadystatechange = function()
{
update_status( "Veuillez patienter pendant le processus d'authentification ...", "busy.gif");
if( loginRequest.readyState == 4 )
{
// Ici le code 200 signifie que la requête a renvoyé une valeur valide. On pourrait aussi gérer les erreurs 500, 404 ...
if( loginRequest.status == 200 )
{
if ( loginRequest.responseText == "good.gif" )
{
update_status( "Identification réussie !" , loginRequest.responseText );
} else if ( loginRequest.responseText == "wrong.gif" ) {
update_status( "Le mot de passe est erroné !" , loginRequest.responseText );
} else {
update_status( loginRequest.responseText , "handle.gif" );
}
}
else
{
update_status( "Une erreur est survenue : " + loginRequest.status + " " + loginRequest.statusText, "handle.jpg");
}
}
};

username = document.getElementById('login').value;
password = document.getElementById('passwd').value;
//alert (username)

// le secret d'AJAX réside également dans l'envoi de la requête en background ( sans recharger la page ) :
loginRequest.open("GET", "login.php?username=" + username + "&password=" + password, true);
loginRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
loginRequest.send(null);
}
-1
multicite Messages postés 47 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 22 juillet 2009 14
24 oct. 2008 à 20:49
personnellement je n'utilise pas xmlhttprequest directement mais des bibliothèques qui permettent d'assurer une compatibilité entre toutes les implémentations sur les différents navigateurs.

https://www.google.com/search?q=librairie+javascript+ajax&gws_rd=ssl

ec
-1
briiiiix Messages postés 575 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 1 juin 2010 18
24 oct. 2008 à 20:51
Comme début il est préferable d'utiliser directement cette fonction afin de la comprendre mais maintenant, j'utilises la framwork prototype qui m'évite tout ce bidouillage.
LOL
-1