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] location.reload() en ajax avec IE7


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 33
    Points : 19
    Points
    19
    Par défaut [AJAX] location.reload() en ajax avec IE7
    Bonjour,

    je développe dans le cadre de mon entreprise un applicatif d'emailing avec tracking etc ...

    Dans le menu de gestion d'images je rencontre un petit soucis d'incompatibilité avec firefox et IE 7.

    Je vous explique les fonctionnalités de cette page :

    toute simple, fonction php qui fait un listing des images présentes dans le répertoires sur la droite un petit encadré ( fieldset avec pour nom Aperçu ),

    Et à l'aide d'ajax lorsque je passe la souris sur les noms d'images, une fonction php miniaturise l'image et un petit aperçu apparaît dans l'encadré. Jusque la tout va bien ( que ce soit sous firefox ou IE).

    Une autre fonctionnalité de cette page est la suppression d'images. En effet, pour supprimer j'ai également utiliser de l'ajax qui dès que l'on clique sur le nom d'une image supprime l'image du fichier puis fait un reload de la page pour faire disparaître le nom de l'image de la liste.

    Le problème ( il en fallait bien un :pfff: ), et que sous firefox tout cela se passe bien par contre sous IE 7, c'est la cata. La page ne s'actualise pas

    Voici ma fonction :

    function Suppression(img) {
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
    XmlReq = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) { // IE
    XmlReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else {
    alert('Ca marche pas');
    }

    XmlReq.onreadystatechange= function () {
    if (XmlReq.readyState == 4) {
    if (XmlReq.status == 200) {
    document.location.reload();
    }
    else {
    alert(XmlReq.status+" : "+XmlReq.statusText);
    }
    }
    };
    var donnees= "img="+img;
    XmlReq.open('POST','suppression_img.php',true);
    XmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XmlReq.send(donnees);

    }
    Pour essayer de repérer le disfonctionnement, j'ai positionné 2 alerts :

    function Suppression(img) {
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
    XmlReq = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) { // IE
    XmlReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else {
    alert('Ca marche pas');
    }

    XmlReq.onreadystatechange= function () {
    alert(XmlReq.readyState);
    if (XmlReq.readyState == 4) {
    alert(XmlReq.status);
    if (XmlReq.status == 200) {
    document.location.reload();
    }
    else {
    alert(XmlReq.status+" : "+XmlReq.statusText);
    }
    }
    };
    var donnees= "img="+img;
    XmlReq.open('POST','suppression_img.php',true);
    XmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XmlReq.send(donnees);

    }
    Voila ce que me fait IE !
    1
    1
    1
    4
    200
    4 (ici il devrait être dans le if)
    200
    4
    200
    puis actualisation de la page ?: !!!

    1ère remarque: la page s'actualise tout de même quand je mets les alerts.
    2ème remarque: pourquoi alors que Xmlreq.status = 200 il ne rentre pas dans le if.

    Voila j'espère avoir été assez clair

    Je vous remercie d'avance pour vos réponses qui j'espère m'aideront héhé

    Amicalement,

    Julien

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    "location" est une propriété de l'objet window.
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.location.reload();
    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    je te remercie de ta réponse, mais j'ai déja testé

    merci de m'aider

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    up up ! toujours pas réglé mon problème :'(

  5. #5
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    faire
    window.location.reload(true);
    true pour forcer le rafraichissement à partir du site et non du cache du browser

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 33
    Points : 19
    Points
    19
    Par défaut
    c'est bizarre mais cela ne marche toujours pas. il supprime bien l'image mais sous IE7 n'actualise pas la page !!!

Discussions similaires

  1. [AJAX] - Rafraichissement d'un DIV avec setTimeOut
    Par Seb06 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/03/2011, 00h07
  2. [AJAX] Bug ajax en ligne et avec ie7
    Par Lexarino dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/10/2007, 17h24
  3. [AJAX] saisie automatique en rapport avec des données mysql
    Par redwire dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 01/10/2006, 11h45
  4. Problème avec opener.location.reload
    Par Joooooon dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/06/2006, 18h58
  5. [AJAX] Appel de plusieurs pages avec Ajax
    Par shadowbob dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 13/02/2006, 18h29

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