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] INVALID_STATE_ERR: DOM Exception 11


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Par défaut [AJAX] INVALID_STATE_ERR: DOM Exception 11
    Bonjour,

    J'ai l'erreur suivante : INVALID_STATE_ERR: DOM Exception 11

    Mon code est le suivant :
    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
    function categorie(){
    	//On déclare une variable
    	var mavariable1 = objet_XMLHttpRequest();
    	//On assigne une fonction à la propriété onreadystatechange
    	mavariable1.onreadystatechange = function(){
    		//Si l'attribut readyState renvoie 4 et que l'attribut status renvoie 200
    		if(mavariable1.readyState == 4 && mavariable1.status == 200){
    			//On affiche le résultat chargé dans l'attribut responseText
    			document.getElementById('tableau').innerHTML = mavariable1.responseText;
    		}
    		//côté ajax ça merde
    		else{
    			//on contrôle le statut. Si 404, le fichier ouvert par "open" n'existe pas
    			if(mavariable1.status == 404){
    				alert('Erreur ' +mavariable1.status + '! Le fichier php semble être absent...');
    			}
    		}
    	};
    	//On déclare la méthode d'envoie
    	mavariable1.open("GET","tableau.php",true);
    	//On envoie
    	mavariable1.send();
    }
    L'erreur me renvoie sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert('Erreur ' +mavariable1.status + '! Le fichier php semble être absent...');
    La fonction est appelé via un "onload" sur la balise "body" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="categorie();">
    Pourquoi ais-je cette erreur svp?

    Merci

  2. #2
    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
    Le premier onreadystatechange intervient quand on passe de l'état 0 (non initialisé) à l'état 1 (initialisé) donc dans ce cas, tu passes dans le else du callback, mais à l'état 1, il ne peut pas y avoir de status puisque la requête n'a pas été envoyée.
    Il faut que tu vérifies que le readyState est correct avant de tester le status.
    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

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Par défaut
    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(mavariable1.readyState == 4 && mavariable1.status == 404){
    alert('Erreur ' +mavariable1.status + '! Le fichier php semble être absent...');
    }
    J'ai bon la ?

  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
    Personnellement, je mettrais plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(mavariable1.readyState == 4){
        if(mavariable1.status == 200){
            // Traitement
        }
        else if(mavariable1.status == 404){
            // Traitement
        }
    }
    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

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Par défaut
    Ok c'est noté et encore merci .

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

Discussions similaires

  1. [AJAX] Ajax et DOM - Aide
    Par publicStaticVoidMain dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 13/03/2009, 13h48
  2. [AJAX] Combinaison de AJAX et DOM
    Par Laughing Man dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/12/2008, 22h54
  3. Réponses: 1
    Dernier message: 14/08/2008, 16h06
  4. [Ajax] [HTML] [DOM] Parser du Html (texte) en Html DOM ou en DOM
    Par thibaut dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/11/2007, 14h44
  5. [AJAX] [MSIE][DOM] MAJ de l'affichage
    Par yjuliet dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/06/2007, 11h44

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