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] Firefox 2.0 ne reconnaît plus xmlHttpRequest ?


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 480
    Par défaut [AJAX] Firefox 2.0 ne reconnaît plus xmlHttpRequest ?
    Voici le code :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    <html>
      <head>
        <title tal:content="template/title">The title</title>
    <script language='javascript' type='text/javascript'>
    var xmlHttp = false;
    init();
     
    function init(){
    /* Create a new XMLHttpRequest object to talk to the Web server */
    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
    try {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e2) {
        xmlHttp = false;
      }
    }
    @end @*/
     
    if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
      xmlHttp = new XMLHttpRequest();
    }
    }
     
    function callServer() {
     
     
    if (xmlHttp.readyState!=0)
    {
    	xmlHttp.onreadystatechange = function() {};
    	xmlHttp.abort();
      xmlHttp = false;
      init();
     
    }
     
     
      // Build the URL to connect to
      var url = "http://localhost/wnl/subscribe.php";
     
      // Open a connection to the server
      xmlHttp.open("GET", url, true);
     
      // Setup a function for the server to run when it's done
      xmlHttp.onreadystatechange = updatePage;
     
     
      // Send the request
      xmlHttp.send(null);
     
    }
     
     
    function updatePage() {
      if (xmlHttp.readyState == 4) {
        response = xmlHttp.responseText;
        document.getElementById("message").innerHTML = '';
        document.getElementById("appli").innerHTML = response;
        if (response=='') document.getElementById("appli").innerHTML = '<br><br>Aucun resultat.';
      }
    }
     
     
     
    </script>
      </head>
      <body>
    <span id="message">loading...</span>
    <div id="appli"></div>
    <img src="Zeuro/Image/Verif" onload="callServer()" />
      </body>
    </html>
    Fonctionne très bien sous IE, mais pas sous FireFox 2.0
    Erreur javascript sous FireFox 2.0 : uncaught exception: Permission refusée d'appeler la méthode XMLHttpRequest.open

  2. #2
    Membre éclairé
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 480
    Par défaut
    Je viens de faire un essai avec FireFox 1.5 : même problème.

    Le code javascript n'est pas bon ?

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Par défaut
    Bonjour,

    Je crois avoir eu le même problème il y a un certain temps. En fait cela arrivait parce que ma page n'était pas hébergée par le même serveur que le lien que j'appelais.

    Concrètement, je pense que pour que cela marche chez vous, il faudrait placer votre code HTML dans le même répertoire que la partie serveur (http://localhost/wnl/).

    Vous aurez donc une page http://localhost/wnl/test.html qui appele http://localhost/wnl/subscribe.php.

    Et là, normallement, plus de message d'erreur
    Si c'est pas ca, désolé pour le dérangement ...

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Par défaut
    Jetz aussi un oeil à l'un des threads précédents intitulé "[Résolu] [ajax]: permission refusée d'utiliser la méthode open" ...

  5. #5
    Membre éclairé
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 480
    Par défaut
    Effectivement, on ne peut lire des fichiers que sur le serveur sur lequel se trouve la page en cours...

    En l'occurence, le fichier http://localhost/wnl/subscribe.php n'est pas sur le même serveur que le fichier HTML qui l'appelle.

    Il faut donc que je modifie en conséquence.

    Merci.

  6. #6
    Membre éclairé
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 480
    Par défaut
    Lorsqu'on parle de même serveur, le port entre-t-il en compte ?

    En effet, la page qui contient le code javascript est sur localhost:8080
    La page appelée par le javascript (http://localhost/wnl/subscribe.php) est sur localhost (donc sur le port 80).

    Il s'agit bien du même domaine, mais sur un port différent.
    Est-ce là le problème ?

    Au passage, si le problème vient de là, il y a un beau trou de sécurité sous IE puisque le code fonctionne sous IE...

  7. #7
    Membre éclairé
    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2004
    Messages
    480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : développeur
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2004
    Messages : 480
    Par défaut
    Ca y est, c'est bon.

    Effectivement, il faut absolument que le domaine soit le même, port compris.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Par défaut
    Je n'avais jamais testé ca. Bon à savoir.

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

Discussions similaires

  1. [AJAX] ajax firefox
    Par Khleo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/02/2008, 15h49
  2. interaction AJAX FireFox
    Par air_v dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 21/01/2008, 17h32
  3. [AJAX] Ajax firefox et IE7
    Par dlamo dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/10/2007, 17h29
  4. [AJAX] AJAX+Firefox : readyState ne dépasse pas le 1
    Par TheRedLed dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/04/2007, 13h42
  5. [AJAX] Récupération tronquée de donnée binaire via XMLHttpRequest
    Par Christophe Charron dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/06/2006, 18h21

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