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

JavaScript Discussion :

[AJAX] Appel avec ajax


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 103
    Points : 62
    Points
    62
    Par défaut [AJAX] Appel avec ajax
    Bonjour un petit souci avec ajax

    voici mon arbo de mon site:

    www
    --script.js
    --index.php
    --admin
    ----index.php
    ---- recherche_sscat.php

    lorsque j'appel ma fonction de mise à jour de code Ajax depuis index de admin ca marche
    par contre qd je l'appel depuis le index à la racine ca ne marche pas???

    en fait dans la fonction showContent j'ai un retour de
    xhr.status = 0; au lieu de 200

    auriez vous une idée?

    voici le code des appels
    celui qui ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo("&nbsp;&nbsp;&nbsp;&nbsp;<a href='' onclick='rempliSsCat(2, contenu);'>" . $sscat['nom'] . "</a><br>");
    celui qui marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <select onchange='rempliSsCat(this.value, \"span_sscat\");' name='select_cat' size='1'>

    voici le code du script
    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
    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
     
    <script type="text/javascript">
    function loadPage(url, element_id)
    {
      var adresse = url;
      adresse = "recherche_sscat.php?idcat=2";
      makeRequest(adresse, element_id); 
    }
     
    function rempliSsCat(idcat, element_id)
    {
      var adresse = "recherche_sscat.php?idcat=" + idcat;
     
      makeRequest(adresse, element_id);
     
      document.admin_creation_article.valid.style.visibility = 'visible'; 
    }
     
    function makeRequest(adresse, element_id)
    {
    alert(adresse);
    	if(window.XMLHttpRequest) {
    		//FireFox
    		xhr = new XMLHttpRequest();
    	}
    	else {
    		if(window.ActiveXObject) {
    			//IE
    			try {
    				xhr = new ActiveXObject("Microsoft.XMLHTTP" );
    			}
    			catch (e) {}
    		}
    	}
     
    	if (xhr) {
    		//Si ca a fonctionné
    		xhr.onreadystatechange = function() {
    			showContents(element_id);
        }
    		xhr.open("GET", adresse, true);
    		xhr.send(null);
    	}
    	else {
     
    		document.getElementById(element_id).innerHTML = "Désolé, impossible de créer une requête XMLHttpRequest";
    	}
    }
     
    function showContents(element_id) {
     
    	if(xhr.readyState == 4) { // 4 = terminé et initialisé
    		if(xhr.status == 200) { // 200 = terminé pour la page (type erreur 404 = non trouvé etc...)
    			var outmsg = xhr.responseText;
    alert(outmsg);
    			document.getElementById(element_id).innerHTML = outmsg; 
    		}
    	}
    }
     
    </script>


    losque j'appel la fonction rempliSsCat

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Points : 145
    Points
    145
    Par défaut
    Je ne suis absolument pas sur que le problème vienne de là, mais dans l'appel qui ne marche pas, il faudrait peut-être mettre contenu entre guillemets.

    Si ca ne vient pas de là, l'utilisation de la console d'erreur de Firefox (dans le menu Outils) voir de Firebug (extension de Firefox) devrait te permettre d'y voir plus clair sur l'origine du problème.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 103
    Points : 62
    Points
    62
    Par défaut
    non le problème ne vient pas de la.

    j'ai fait une alerte sur mes parametres d'entré et ils sont correct.

    En mettant une alerte dans la fonction ShowContent celle qui doit affiché mon code par le innerHTML.

    avant le if(xhr.readyState j'y passe plusieurs ca c'est normale.

    par contre en mettant une alerte juste apres je recupere un status à 0 et non pas 200.
    Du coup je n'ai rien à afficher.



    Je ne sais pas trop comment me servir de firebug.
    Je m'en serts souvent pour les problemes de mise en page, mais a par ca...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Points : 145
    Points
    145
    Par défaut
    Excuse moi d'être insistant, mais pour avoir testé, document.getElementById('contenu') et document.getElementById(contenu) ne conduisent pas au même résultat...

    Pour Firebug, il suffit juste de voir si il te signale une erreur (elle serait écrite en bas à droite) lorsque tu appelles la fonction.

  5. #5
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    lorsque j'appel ma fonction de mise à jour de code Ajax depuis index de admin ca marche
    par contre qd je l'appel depuis le index à la racine ca ne marche pas???
    Si c'est pas le même répertoire, l'url n'est plus la même
    Il faut modifier l'adresse dans ta requête !

    EDIT
    Au passage,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('id')
    Récupère l'élément dont l'id est id,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(id)
    Récupère l'élément dont l'id est la valeur de la variable id.
    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

  6. #6
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 103
    Points : 62
    Points
    62
    Par défaut
    Merci pour ces réponses,

    je suis bien d'accord avec mon erreur sur 'contenu', mais ce que je voulais dire, c'est que ca ne vient pas de là.
    Si tout fonctionnais, j'aurais mon erreur apres, à l'appel de getElementByID, mais comme je n'y passe pas pour l'instant...


    Concernant l'adresse je suis aussi d'accord, si je ne suis pas au meme endroit ca va pas marcher.
    Mais c'étais juste un exemple.
    Normalement j'appel bien ma fonction avec une adresse correct.

    Mais j'ai toujours un status à 0

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Points : 145
    Points
    145
    Par défaut
    Est-ce qu'il y'a des erreurs qui sont affichées lors du chargement de la page dans Firebug ou dans la console d'erreur de Firefox ? Si oui, lesquelles ?

    Sinon, serait-il possible d'avoir un lien vers le site pour pouvoir tester, ou d'avoir le code source utilisé ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/01/2010, 16h27
  2. [AJAX] débuguer un template smarty appelé avec ajax
    Par damjal dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/10/2008, 19h10
  3. [AJAX] PHP avec ajax(makerequest)
    Par Benjiijneb dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 11/04/2006, 16h53
  4. [AJAX] Modifier avec AJAX une image générée avec GD
    Par thsantac dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/03/2006, 19h34

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