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 :

Ouverture d'un fichier externe


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Par défaut Ouverture d'un fichier externe
    Bonjour le forum,
    J'ai cette ligne de code qui me permets de lire un fichier texte locale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     readTextFile("./files/" + sel_1_val + "-" + sel_2_val + ".txt");
    Je voudrais remplacer files par son adresse du type : https://www.monsite.fr/toto/files/fichier.txt
    Je n'arrive pas à trouver la bonne syntaxe...
    Merci à vous !

  2. #2
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    readTextFile ?

    Formidable, moi j'ai une fonction appelée LireFichierTexte, elle marche très bien, tu devrai t'en servir


  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     readTextFile("https://www.monsite.fr/toto/files/" + sel_1_val + "-" + sel_2_val + ".txt");
    Où est la difficulté ?

    Ensuite, si ça ne fonctionne pas, le problème vient de ta fonction readTextFile(), dont on ne sait rien (qui n'accepte peut-être pas les URL absolues).

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Par défaut
    Bonjour,
    Désolé je pensais avoir mis mon code complet
    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
        <script type="text/javascript">
                function catsel2(sel) {
                  //if (sel.value=="-1" ) return;
                  var opt=sel.getElementsByTagName("option" );
                  for (var i=0; i<opt.length; i++) {
                    var x=document.getElementById(opt[i].value);
                    if (x) x.style.display="none";
                  }
                  var cat = document.getElementById(sel.value);
                  if (cat) cat.style.display="block";
                }
                function readTextFile(file)
    {
        var rawFile = new XMLHttpRequest();
        rawFile.open("GET", file, false);
        rawFile.onreadystatechange = function ()
        {
            if(rawFile.readyState === 4)
            {
                if(rawFile.status === 200 || rawFile.status == 0)
                {
                    var allText = rawFile.responseText;
                    // alert(allText);
                    var c = document.getElementById( "cat");
                    c.style.display = "block";
                    c.innerHTML = allText;
                }
            }
        }
        rawFile.send(null);
    }
     
              </script>
     
      <script>
      function catsel(sel_id1,sel_id2) 
      {
              // on récupère les 2 choix
              var sel_1_val = document.getElementById( sel_id1 ).value;
              var sel_2_val = document.getElementById( sel_id2 ).value;
     
     
              // on masque tous les div de class="cat"
              cat_hide_all();
              readTextFile("./files/" + sel_1_val + "-" + sel_2_val + ".txt");
     
              // si les 2 choix sont faits
              if( sel_1_val !='' && sel_2_val !='' )
              {
                      // on affiche le bon div
                      var cat_to_show_id = 'cat-' + sel_1_val + '-' + sel_2_val; // de la forme : cat-2-C
                      var cat_to_show = document.getElementById( cat_to_show_id );
                      if (cat_to_show) cat_to_show.style.display = 'block';
              }
      }
      // masquer tous les div
      function cat_hide_all() 
      {
              var divs = document.querySelectorAll( '.cat' );
              divs.forEach(function(div) {
                      div.style.display = 'none';
              });
      }
      // ONLOAD : on masque tous les div de class="cat"
      window.onload = cat_hide_all;
      </script>
    Avec l'url directement dedans cela ne fonctionne pas, le fichier ne se charge pas

  5. #5
    Invité
    Invité(e)
    Par défaut
    Il s'agit du même domaine, ou tu essaies de lire un fichier sur un autre serveur ?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 386
    Par défaut
    A la base le code a été concu sur mon ordi donc il fonctionne très bien.
    J'ai voulu le mettre sur mon server mais la ca ne fonctionnait pas, pourtant j'ai bien chargé les fichiers textes sur le server.

    Pour faire mes tests, je reste sur mon ordi en local et au lieu d'avoir "files/" je mets l'url du dossier file sur mon server.

  7. #7
    Invité
    Invité(e)
    Par défaut
    J'ai aussi fait des tests.

    Apparemment, le fait que le site soit en https bloque l'action au niveau de rawFile.send(null); :

    NetworkError: A network error occurred.

Discussions similaires

  1. Action externe, ouverture d'un fichier
    Par gemallan dans le forum QlikView
    Réponses: 2
    Dernier message: 11/09/2014, 09h48
  2. PATH pour ouverture de fichiers externes
    Par bananiatutur dans le forum LabVIEW
    Réponses: 3
    Dernier message: 31/07/2014, 09h20
  3. [Toutes versions] ERROR 52 VBA, Ouverture d'un fichier sans l'ouvrir de source externe
    Par studying dans le forum Excel
    Réponses: 0
    Dernier message: 14/01/2013, 11h29
  4. Ouverture fichier externe et extraction du resultat
    Par anthonystaltaro dans le forum Général Python
    Réponses: 17
    Dernier message: 14/04/2009, 14h25
  5. Réponses: 2
    Dernier message: 03/09/2007, 23h06

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