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] Execution sur IE


Sujet :

JavaScript

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 1
    Par défaut [AJAX] Execution sur IE
    Bonjour,
    j'ai un problème avec mon code : il s'exécute parfaitement sur Firefox mais pas sur IE :

    Voici ma declaration dans le HEAD :

    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 envoieRequete(url,id)
    {
    	var xhr_object = null;
    	var position = id;
    	   if(window.XMLHttpRequest)  xhr_object = new XMLHttpRequest();
    	  else
    	    if (window.ActiveXObject)  xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
    	// On ouvre la requete vers la page désirée
    	xhr_object.open("GET", url, true);
    	xhr_object.onreadystatechange = function(){
    	if ( xhr_object.readyState == 4 )
    	{
    		// j'affiche dans la DIV spécifiées le contenu retourné par le fichier
    		document.getElementById(position).innerHTML = xhr_object.responseText;
    	}
    	}
    	// dans le cas du get
    	xhr_object.send(null);
    }
    </script>
    et pour afficher mes script PHP dans des divs voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="envoieRequete('page.php','id_div');"
    S'il vous plait dites moi ce qui ne va pas ? je suis nouveau en AJAX et je crois que c un script assez ancien que j'utilise mais c la seule solution que j'ai pu avoir !

    merci de votre aide.

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2006
    Messages : 81
    Par défaut
    Salut,
    Normalement ça doit fonctionner!(enfin tu dis que c'est le cas pour FF)
    DES MODIFACTION:
    +ajoute un : xhr_objet.status==200=>
    if ( xhr_object.readyState == 4 &&
    xhr_object.status==200)

    +aussi ajoute ceci avant xhr_object.send()
    xhr_object.setRequestHeader('Content-type','application/x-www-form-urlencoded');

    +aussi si dans ton click:
    onclick="envoieRequete('page.php','id_div');return false" si c'est une balise <a></a>
    -----
    sinon utilises un framework ajax y en a des tonnes!

  3. #3
    Membre émérite
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Par défaut
    De plus avec un framework ajax (de bonne qualité bien sur) tu as la garantie de la compatibilité entre navigateurs.

    Entre autres, parmi les bons, tu as : prototype (voire scriptaculous, si tu veux faire quelques trucs plus poussés), dojo, extJS, dhtmlx, jquery, yui, gwt et j'en oublie surement

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

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Avant d'utiliser la grosse artillerie des frameworks, tu peux juste vérifier s'il ne s'agit pas d'un problème de gestion du cache, pour cela essaye d'ajouter un timestamp par exemple à ta requête pour éviter à IE d'utiliser une page du cache !
    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

  5. #5
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Effectivement,j'opte aussi pour un problème de cache
    l'appel devrait fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onclick="envoieRequete('page.php?rnd=' + math.random(),'id_div');"
    On génère un id aléatoire pour empêcher d'avoir le cache..

    Sinon t'as des messages d'erreur?

Discussions similaires

  1. navigateur executé sur le serveur ?
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 14/11/2005, 17h46
  2. [Système] Clic et execution sur le serveur (exe)
    Par Belegkarnil dans le forum Langage
    Réponses: 4
    Dernier message: 11/11/2005, 17h27
  3. [Forms5]ouvrir un executable sur un poste client
    Par anthony8 dans le forum Forms
    Réponses: 2
    Dernier message: 30/06/2005, 14h26
  4. [Dev][Allegro] Probleme d'execution sur un autre ordi
    Par clochardevobsy dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 15/01/2005, 19h54
  5. Réponses: 2
    Dernier message: 22/04/2004, 13h28

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