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] Statut de requête HTTP à 0


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 15
    Par défaut [AJAX] Statut de requête HTTP à 0
    Bonjour,

    Je suis en train de travailler sur un site personnel et jusqu'à maintenant je n'avais pas utiliser AJAX. Afin de dynamiser un peu mon travail j'ai décidé d'effectuer mes chargements de pages (dans une DIV) avec AJAX.

    J'utilise AJAX depuis quelques temps déjà et je rencontre actuellement une erreur inconnue et insolvable...

    J'ai cherché une solution sur le forum et sur google mais en vain.

    Donc voilà mon code :

    HTML :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
     
    <a href="#" onclick="javascript:chargerPage(1);">Présentation</a>
     
    ...

    Donc le lien qui appelle ma fonction JS :

    Code JavaScript : 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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
     
    function chargerPage(unId)
    {
    	var uneXhr = getXhr();
     
    	uneXhr.open("POST", "chargerLaPage.php", true);
     
     
    	uneXhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");		
     
    	uneXhr.send("IdPage="+unId);		
     
    	uneXhr.onreadystatechange = function()
    	{				
    		alert("Statut du serveur : "+uneXhr.status+" ; Etat : "+uneXhr.readyState);
     
    		if(uneXhr.readyState == 4 && uneXhr.status == 200)
    		{	
    			alert(uneXhr.responseText);
    			document.getElementById('frame').innerHTML = uneXhr.responseText;
    		}
     
    	}
     
    }
     
    function getXhr()
    {
     
    	var xhr = null;
     
    	// Si le navigateur est firefox ou autres
    	if(window.XMLHttpRequest)
    	{			
    		// On crée l'xhr du bon type
    		xhr = new XMLHttpRequest(); 
    	}			
     
    	// Sinon s'il s'agit d'IE
    	else if(window.ActiveXObject)
    	{  
     
    		// IE7
    		try 
    		{
     
    			xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			// Version d'IE < 7
    		} 
    		catch (e) 
    		{
    			xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		}
     
    	}
     
    	// XMLHttpRequest non supporté par le navigateur
    	else 
    	{  
    		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    		xhr = false; 
    	} 
     
    	return xhr;
    }

    Avec un Code Php :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    <?php
     
    echo "blabla";
     
    ?>

    Mon 'alert(uneXhr.responseText);' ne s'affichait pas, j'ai donc vérifier le statut et l'état de la XHR :

    Cela m'affiche 0 pour le statut et 4 pour l'état.

    En mettant un test tel que 'if(uneXhr.readyState == 4 && uneXhr.status == 0)' l'affichage de la réponse de mon php est vide...

    J'ai testé ce code sous Firefox en localhost et sur un serveur d'hébergement, mais avec toujours le même résultat...

    Merci d'avance de consacrer un peu de votre temps à la résolution de mon problème.

    Bonne soirée à vous,

    Va_Viper.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    ma première réaction ne concerne pas Ajax mais les id.
    les 2 que je vois sont :
    • invalide pour l'un : un id ne peut commencer par un caractère numérique 'si "1" est bien l'id d'un élément de ta page)
    • ambigüe pour l'autre : comme tout autre terme réservé du langage, "frame" ne doit pas être utilisé comme identifiant Javascript (id, name, variable, fonction)
    Mais bien qu'ils soient à corriger, ce n'est peut être pas l'origine de ton problème

    A+

  3. #3
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Bonjour,

    Et il me semble aussi que un "status" peut aussi être égal à 0 (si la requête est effectuée sur le système de fichiers, sans passer par le protocole HTTP)

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par supersnail Voir le message
    Bonjour,

    Et il me semble aussi que un "status" peut aussi être égal à 0 (si la requête est effectuée sur le système de fichiers, sans passer par le protocole HTTP)
    Oui tout à fait, il me semble même aussi sur certaines configurations du serveur...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. [AJAX] résultat requête http
    Par MrVoid dans le forum AJAX
    Réponses: 2
    Dernier message: 01/06/2010, 11h43
  2. [Struts] Ecouter des requêtes HTTP
    Par ledruide dans le forum Struts 1
    Réponses: 16
    Dernier message: 01/12/2005, 11h53
  3. Intercepter les requêtes HTTP et les modifier.
    Par Alexandre T dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 21/09/2005, 19h25
  4. Requête HTTP
    Par hogan dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 15/07/2005, 18h44
  5. [HTTP]Créer une requête http multipart/related
    Par jothi35 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/04/2005, 15h32

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