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] page qui ne s'affiche pas


Sujet :

JavaScript

  1. #1
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut [AJAX] page qui ne s'affiche pas
    Mon code marche si la page appelante est sur la même machine que la page appelé et ne marche pas dans le cas contraire.
    Est ce normal ? (il me semble que non ^^)

    Apparemment le problème viendrais de ma fonction envoiRequete

    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
     <script type="text/javascript">
    function envoiRequete(url,variables,element)
    {
    if(window.XMLHttpRequest)
      var connexion = new XMLHttpRequest();
    else
      var connexion = new ActiveXObject("Microsoft.XMLHTTP");
     
      connexion.open("GET", url+'?'+variables, true);
      connexion.send(null);
      //connexion.send(url+'?'+variables); <= j'ai essayer avec ça aussi
      connexion.onreadystatechange = function() 
      {
        if(connexion.readyState == 4) 
        {
          reponse = connexion.responseText;
          document.getElementById(element).innerHTML = reponse;
        }
      }
    }
    document.onLoad = envoiRequete('http://82.228.174.120/parano/list/table.php','css=opale','list_parano') ;

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Points : 201
    Points
    201
    Par défaut
    Mouarf.

    Test avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    connexion.open('POST', url, true);
    connexion.send(variables);

  3. #3
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    il faut mettre le connexion.onreadystatechange = ... avant le open et le send

  4. #4
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    ok merci, je test et je vous dis ça

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Points : 201
    Points
    201
    Par défaut
    Citation Envoyé par Swoög
    il faut mettre le connexion.onreadystatechange = ... avant le open et le send
    Non, pas obligatoirement!

    Toutes mes fonctions Ajax sont écrites dans cette ordre:

    -open
    -setRequestHeader
    -send
    -onreadystatechange

  6. #6
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Bah, perso dans le tuto AJAX du site, c'est mis dans cet ordre, et j'ai déjà recontré quelqu'un à qui c'est arrivé...

    en plus ça parait logique :
    d'abord tu dis ce qu'il faut faire quand un évènement se déclenche...
    Ensuite tu lances une action suceptible de déclencher l'évènement...

    sinon tu prend le risque que l'évènement soit déclenché avant que tu ne le spécifie...

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Points : 201
    Points
    201
    Par défaut
    On a pas la même logique des choses

    Je te montre ce que je comprend dans mon ordre:

    -open => Création de la porte de sortie, vers un fichier
    -setRequestHeader => On spécifie un header exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=iso-8859-1');
    -send => On envoie les données à la page
    -onreadystatechange => Une fois le script traité, on effectue un événement. (on peut ajouter des options à cet endroit.)

    Moi je trouve cet ordre tout à fait logique, mais je peux me planter

  8. #8
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Points : 5 509
    Points
    5 509
    Par défaut
    bon ça marche bien, merci

    je "clos" le sujet mais vous pouvez continuer si vous le souhaitez

  9. #9
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    kalash_jako : c'est parce que tu utilise un raisonnement synchrone, pour une programmation linéaire dans le temps, alors que tu utilises une technique assynchrone, donc une programmation évènementielle, c'est à dire non linéaire dans le temps !

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Points : 201
    Points
    201
    Par défaut
    J'ai peut être pas tout compris, mais tu as sûrement raison! Je garde l'ordre que je devrais utiliser, ainsi, si je rencontre un problème, j'essayerai avec.

    Merci bien!

  11. #11
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Swoög
    kalash_jako : c'est parce que tu utilise un raisonnement synchrone, pour une programmation linéaire dans le temps, alors que tu utilises une technique assynchrone, donc une programmation évènementielle, c'est à dire non linéaire dans le temps !


    C'est également dans la
    http://javascript.developpez.com/faq...jax.asynchrone

    Swoög a raison, et sa façon de faire est la bonne. La tienne présente un gros risque au niveau chronologique, et eventuellement selon l'implémentation de XHR....

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

Discussions similaires

  1. Pages qui ne s'affichent pas bien sous I.E.
    Par Hilary dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 06/07/2010, 03h50
  2. nombre de page qui ne s'affiche pas
    Par Zenerox dans le forum IHM
    Réponses: 1
    Dernier message: 20/03/2008, 16h49
  3. [Javascript] IE(page qui ne s'affiche pas alors que code html présent)
    Par Woufeigh dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/04/2007, 19h54
  4. Page qui ne s'affiche pas entièrement
    Par leodi dans le forum Apache
    Réponses: 7
    Dernier message: 05/08/2006, 22h33
  5. pages qui ne s'affichent pas
    Par luck dans le forum ASP
    Réponses: 4
    Dernier message: 19/07/2004, 11h35

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