IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] RequêteHTTP : utiliser XMLHttpRequest


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 155
    Par défaut [AJAX] RequêteHTTP : utiliser XMLHttpRequest
    Bonsoir

    J'utilise la requête HTTP qui suit (je précise : ici pas de jquery) qui semble gérer les particularités d'IE.
    Par contre il n'y a pas de page 'caniuse XMLHttpRequest' (au passage la méthode semble maintenant supporté par IE11), ma question est juste : y a t-il une possibilité de tomber sur d'autres navigateurs qui ne la supportent pas, soit que cette fonction renvoie '0' ?

    Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    function Message (typ)
    {
    	var xhr = false;
    	if (window.XMLHttpRequest)
    	// Firefox, Opera, Chrome
    	{
    		xhr = new XMLHttpRequest();
    	}
    	else if (window.ActiveXObject)
    	// Internet Explorer < 11
    	{
    		var names = ["Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
    		for (var i in names)
    		// Teste les versions
    		{
    			try{ xhr = new ActiveXObject(names[i]); }
    			catch(e){}
    		}
    	}
    	if (xhr)
    	{
    	// Requête POST
    		xhr.open("POST", 'Notify_' + typ + '.php', false);
    		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    		xhr.send('lng=' + lng + '&os=' + os + '&bwr=' + bwr + '&cnv=' + cnv);
    		if (xhr.readyState == 4)
    		{
    			if (xhr.status == 200)
    				return xhr.responseText;
    			else
    				return xhr.status;
    		}
    	}
    	else
    		return 0;
    };

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 155
    Par défaut
    Merci.
    Il y a effectivement des précisions utiles mais en gros cette fonction fait la même chose, sauf qu'ici ma requête est synchrone.

    Je suppose que par rapport à ma question il faut comprendre que oui, il y a encore des navigateurs pour lesquels cette fonction échouera ?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    il y a encore des navigateurs pour lesquels cette fonction échouera ?
    Je penses effectivement qu'Olivier de Kersauson ferait partie de cela

    IE reconnait l'objet depuis sa version 7, en pensant à configurer pour, http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

    sauf qu'ici ma requête est synchrone.
    que tu sois en synchrone ou asynchrone ne changera rien au fait que le navigateur implémentera cet objet.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 155
    Par défaut
    Depuis IE7, ok ... bref pour l'objet xhr c'est réglé pour IE.
    Maintenant ma question de base était : reste t-il beaucoup d'Olivier de Kersauson ? Faut-il s'en soucier quoi ..

    D'autre part tu m'annonces qu'il faut aussi traiter la réponse en fonction du navigateur pour IE<10, c'est à dire qu'il faudrait aussi faire quelque chose comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if (xhr.status == 200)
              if(window.DOMParser) {
     
                        var parser = new DOMParser();
                        return parser.parseFromString(xhr.responseText,"text/xml");
     
              } else {
     
                        return xhr.responseText;
     
                        }
              }
    }

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Maintenant ma question de base était : reste t-il beaucoup d'Olivier de Kersauson ? Faut-il s'en soucier quoi ..
    Non

    D'autre part tu m'annonces qu'il faut aussi traiter la réponse en fonction du navigateur pour IE<10, c'est à dire qu'il faudrait aussi faire quelque chose comme ça ?
    Uniquement si tu souhaites utiliser la responseXML.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Utilisation XMLHTTPRequest
    Par Daviloppeur dans le forum AJAX
    Réponses: 16
    Dernier message: 24/09/2009, 16h01
  2. [AJAX] Utilisation XMLHttpRequest
    Par DJERO77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/08/2007, 10h27
  3. [AJAX] Permission refusée XMLHttprequest
    Par allserv dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 23/04/2007, 14h34
  4. [AJAX] Comment utiliser AJAX
    Par Taz_8626 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 06/04/2006, 15h16
  5. Comment utiliser XMLHttpRequest()
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/12/2005, 10h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo