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] [IE] Requete Ajax en cours et changement de page


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de ..:: Atchoum ::..
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Points : 156
    Points
    156
    Par défaut [AJAX] [IE] Requete Ajax en cours et changement de page
    Bonjour,

    Je suis exposé a un problème étrange sous IE. Sur les autres navigateurs comme d'habitude tout va bien.

    J'ai des reqêtes Ajax qui se lancent sur le serveur. Elles peuvent prendre de 0 a 20 secondes.
    (En gros c'est une sorte de serveur de requetes Ajax, toutes les 20 secondes s'il n'y a pas eu de changements la requete se termine et une nouvelle est lancée) Coté serveur il boucle en faisant des sleep (genre toutes les 2secondes) et il vérifie l'état pour ou non renvoyer des changements coté client)

    Et bien il se trouve, il semblerait que sous IE, quand une requete ajax est en cours, si je clique sur un simple lien, pour changer de page, IE attend la fin de la requete ajax en cours de la page quittée !

    Note: Autrement sur les autres navigateurs tout est correctement asynchrone avec les sessions etc..

    Si quelqu'un a une idée je lui en serais grandement reconnaissant !

    L'idée je pense est de dire à IE qu'il n'a pas a attendre la fin de la requete Ajax mais bien toutes les tuer pour ouvrir une nouvelle page, ce que fait Firefox on le voit avec FireBug)

    Cordialement
    Sébastien
    On ne peut empêcher les vagues, mais on peut apprendre à les surfer...
    http://blog.plopix.net
    http://www.ez-france.org

  2. #2
    Membre habitué Avatar de ..:: Atchoum ::..
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Points : 156
    Points
    156
    Par défaut
    Bonjour,

    Je me permet de faire un petit "up" en apportant de nouveaux éléments.

    En fait, le fait qu'IE attende la fin de la précendente requete Ajax en cours pourrait sembler logique (La différence avec les autres navigateurs serait une gestion en arrière plan de la fin de la requete)

    Si c'est le cas, mais je n'en suis pas sur, cela voudrait dire que le changement de page laisse quand meme la requete tourner en arrière plan sous Firefox, ce qui va me poser des problèmes par la suite.

    Comment faire pour terminer/abander les requetes ajax en cours au changement de pages ?
    Les requetes sont en cours sur le serveur en fait, je crains donc que c'est mon principe des syncrhos client/serveur est a revoir....
    La puissance de ce système est que je detecte coté client des changements coté serveur a moins de 2 secondes d'intervalles sans bombarder(toutes les 2secondes mais les 20secondes) de requetes Ajax le serveur...

    Si c'est pas clair dites, j'expliquerai plus ...
    ++
    On ne peut empêcher les vagues, mais on peut apprendre à les surfer...
    http://blog.plopix.net
    http://www.ez-france.org

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2004
    Messages : 34
    Points : 26
    Points
    26
    Par défaut
    +1

    J'ai exactement le même problème...
    Merci de toute l'aide qu'on pourra avoir sur ce sujet.

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    Citation Envoyé par ..:: Atchoum ::.. Voir le message
    Bonjour,

    Je me permet de faire un petit "up" en apportant de nouveaux éléments.

    En fait, le fait qu'IE attende la fin de la précendente requete Ajax en cours pourrait sembler logique (La différence avec les autres navigateurs serait une gestion en arrière plan de la fin de la requete)

    Si c'est le cas, mais je n'en suis pas sur, cela voudrait dire que le changement de page laisse quand meme la requete tourner en arrière plan sous Firefox, ce qui va me poser des problèmes par la suite.

    Comment faire pour terminer/abander les requetes ajax en cours au changement de pages ?
    Les requetes sont en cours sur le serveur en fait, je crains donc que c'est mon principe des syncrhos client/serveur est a revoir....
    La puissance de ce système est que je detecte coté client des changements coté serveur a moins de 2 secondes d'intervalles sans bombarder(toutes les 2secondes mais les 20secondes) de requetes Ajax le serveur...

    Si c'est pas clair dites, j'expliquerai plus ...
    ++
    Salut,

    T'as une méthode abort() sur l'objet XHR donc un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    window.onunload = function() {
    xhr.abort() //Soit xhr ton instance
    }
    Devrait à priori fonctionner

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Points : 149
    Points
    149
    Par défaut
    L'intéret est il vraiment prouvé qu'il vaut mieux faire des sleeps que de faire des nouvelles requêtes à chaque fois ? Parce qu'en Php jsuis pas sur que ca soit des Sleep inactifs, donc le serveur risque de pas apprécier des masses.
    Cartes Pokémon, Yugioh, Magic ?
    Communauté d'échange

  6. #6
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    Hello,

    Lis mon article sur Comet : http://d.rek.free.fr/blog/?p=9
    Pour éviter ton changement de page, struture ta page en web 2.0 pur.
    En fait, lorsque tu changes de pages, tu vides ton body ou tes div et afficher dynamiquement grâce au JS ton nouveau contenu que tu récupères en ajax ou non.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/11/2012, 10h56
  2. [AJAX] Requete Ajax : accents
    Par Romalafrite dans le forum AJAX
    Réponses: 2
    Dernier message: 11/05/2009, 11h35
  3. [AJAX] deux requetes ajax dans une même page
    Par mitmit dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/05/2007, 12h52
  4. champs qui s'efface lors d'une requete ajax.
    Par starr dans le forum Langage
    Réponses: 3
    Dernier message: 27/10/2006, 08h33
  5. activer mod_proxy pour les requetes ajax
    Par xtaze dans le forum Apache
    Réponses: 1
    Dernier message: 17/05/2006, 17h45

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