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] readyState passe de 1 à 4 : Probleme Connu ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de raoulchatigre
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Par défaut [AJAX] readyState passe de 1 à 4 : Probleme Connu ?
    Bonjour à tous, je taquine de l'AJAX depuis bientôt 4 mois.
    J'ai eu à boire et à manger niveau bug mais jusqu'à maintenant tout marchait plutôt correctement.

    Mon dernier en date est le suivant...
    je donne pour le moment une version simplifiée de mon problème juste pour savoir si vous l'avez déjà vu :
    je fais mon open() puis au momment de faire mon send() :
    à l'appel de onreadystatechange, j'affiche chaque état :

    comportement normal asyncrone :
    send();
    readyState est à 1 (suite au open)
    readyState passe à 2 / sortie du send()
    readyState passe à 3
    readyState passe à 4 -> on effectue le traitement en réponse.

    Dans mon cas : chezmoicaplante.org...
    send();
    readyState est à 1 (suite au open)
    readyState passe à 4 -> on effectue le traitement en réponse.
    Et là c'est le drame, responseText est vide, les headers et le status HTTP aussi.

    Ma question est : avant de rentrer dans les détails et de poster du code :
    Avez vous déjà vu un comportement similaire ??

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    tu fais un alert sur le change pour le vérifier ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    tu utilises quel code AJAX ? Celui du tutoriel du site ?

  4. #4
    Membre confirmé Avatar de raoulchatigre
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Par défaut
    SpaceFrog:
    oui j'utilise alert pour afficher toutes les étapes de ma communication.
    Je précise que ce bug ne se produit que sur IE ! pas sur FIrefox donc pas de FireBug, pas de Venkman-debugger, et l'objet instancié est un ActiveX forcément :s

    donc pour le debug c'est javel-la-croix & la bannière : pour de l'ajax c'est du propre...
    Cette blague témoigne de ma saturation un vendredi après-midi

    FremyCompany: le code ajax utilisé a été écris par moi même à partir des meilleurs script que j'ai pu trouver depuis 3 mois. Donc il est assez clean.
    Ma question était si vous n'avez jamais vu ce problème, j'ai beau chercher sur le net en long/large/travers sans résultat...

    Je pourrai essayer de vous poster le code mais la classe entière doit faire à peu près 630 lignes est son comportement est largement spécifique à mon site. Donc ca servirai vraiment à rien...

    N'empèche là je sèche...
    1. Appel du send()
    2. onreadystatechange est appelée 2 fois de suite
    1er coup : readyState=1
    2eme coup : readyState=4
    le serveur n'a bien entendu rien vu passer.

    Mon objet activeX a du perdre la boule mais pourquoi : j'en sais rien...

  5. #5
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Question de cache... IE va chercher la réponse dans le cache...

    Fait une recherche 'AJAX cache' dans le forum...

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    rajoute un paramètre aléatoire au fichier cible ...

    genre new Date()
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre confirmé Avatar de raoulchatigre
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Par défaut
    tous les caches sont désactivés dans les headers
    pragma & cache control
    et coté client aussi...

  8. #8
    Membre confirmé Avatar de raoulchatigre
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Par défaut
    Bien, j'arrive maintenant a reproduire mon bug systematiquement :

    J'ai un refresh ajax toute les 30 secondes sur ma page,
    au bout de la troisieme ou quatrieme fois, cela plante,

    j'ai stocké la sequence celle-ci est bien 14 au lieu de 1234.

    lorsque je désactive ssl, tout marche bien.

    Pourtant pendant la séquence 14 : aucune connection au serveur apache ne se fait (access_log a l'appui)

    Les headers sont les suivants pour mes appels ajax (idem pour les autres aussi sans le text/xml) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    header('Content-Type: text/xml');
    header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
    header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
    header ("Pragma: no-cache");                          // HTTP/1.0
    Mon IE a ordre de reloader la page a chaque visite.

    Bon voilà j'en suis là... je désespère un peu alors si un quidam a une idée même complètement saugrenue, je suis preneur

  9. #9
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532

  10. #10
    Membre confirmé Avatar de raoulchatigre
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Par défaut
    Je viens de regarder les trois topics mais je suis conforme à chacun des points soulevés

    j'ai aussi essayé le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    url += "&currentDate=" + escape(new Date())
    sans succés...

    vraiment étrange...

  11. #11
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    tu veux dire que tu as bien changer getXhr et changer tout les getXhr() en var xhr=getXhr() ???

    si oui, alors je voudrais bien voir ton code, parceque c'est vraiment étrange !

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

Discussions similaires

  1. UI Mobile ajax données passées onSuccess et html()
    Par herbert8 dans le forum jQuery
    Réponses: 1
    Dernier message: 31/08/2011, 10h11
  2. [AJAX] Ajax : readyState bloqué à 1
    Par nynnie7 dans le forum AJAX
    Réponses: 3
    Dernier message: 06/02/2011, 13h46
  3. Validation avec un post ajax ne passe pas dans certains navigateurs
    Par Lucas Panny dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/12/2010, 19h28
  4. temps qui passe à partir d'une date connue
    Par Invité dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/09/2009, 21h40
  5. [AJAX] AJAX ne passe pas sur IE
    Par bdaboah dans le forum AJAX
    Réponses: 11
    Dernier message: 27/08/2009, 14h30

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