web-dev-qa-db-fra.com

Comment analyser un fichier texte avec javascript

Le code ci-dessous est à lire un fichier texte en utilisant javascript. ça marche ..__ Cependant, je veux juste lire une partie du contenu. Par exemple, le contenu du fichier est le suivant: "Bonjour tout le monde!" .__ Je veux simplement afficher "Bonjour" . J'ai essayé la fonction split () sur des cordes. Je ne sais pas comment l'insérer ici.

 var urls = ["data.txt"];

function loadUrl() {
    var urlToLoad = urls[0];
    alert("load URL ... " + urlToLoad);
    browser.setAttributeNS(xlinkNS, "href", urlToLoad);
}

je vous remercie!!!

10
qwerty123

Essayez ceci pour lire des mots séparés si j'ai bien compris ce dont vous avez besoin . Créez un fichier avec le contenu "hello world" et parcourez-le avec l'exemple de script . Le résultat est "hello".

<html>
<head>
<input type="file" id="fileinput" />
<script type="text/javascript">
  function readSingleFile(evt) {
    var f = evt.target.files[0];   
    if (f) {
      var r = new FileReader();
      r.onload = function(e) { 
          var contents = e.target.result;             
          var ct = r.result;
          var words = ct.split(' ');            
          alert(words[0]);
      }
      r.readAsText(f);
    } else { 
      alert("Failed to load file");
    }
  }

  document.getElementById('fileinput').addEventListener('change', readSingleFile, false);
</script>
</head>
<body>
</body>
</html>

La lecture doit se faire directement avec une requête ajax en raison des restrictions de javascript concernant la sécurité . Ce code devrait exécuter l'opération demandée:

<html>
<head>
<input type="file" id="fileinput" />
<script type="text/javascript">
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
  if(xmlhttp.status==200 && xmlhttp.readyState==4){    
    var words = xmlhttp.responseText.split(' ');
    alert(words[0]);
  }
}
xmlhttp.open("GET","FileName.txt",true);
xmlhttp.send();
</script>
</head>
<body>
</body>
</html>
11
randomizer

J'ai utilisé 

jQuery.get('http://localhost/foo.txt', function(data) {
var myvar = data;
});

, et obtenu des données de mon fichier texte.

Ou essayez ceci

JQuery fournit une méthode $ .get qui permet de capturer les données à partir d'une URL. Donc, pour "lire" le document HTML/texte, il doit être accessible via une URL. Une fois que vous avez récupéré le contenu HTML, vous devriez pouvoir envelopper le balisage dans un ensemble encapsulé jQuery et le rechercher normalement.

Non testé, mais l'essentiel en général ...

var HTML_FILE_URL = '/whatever/html/file.html';

$(document).ready(function() {
    $.get(HTML_FILE_URL, function(data) {
        var fileDom = $(data);
        fileDom.find('h2').each(function() {
            alert($(this).text());
        });
    });
});
11
Nathan Srivi

Ouvrir un fichier en javascript avec ajax (sans utiliser de framework)

var urls = ["data.txt"];
xhrDoc= new XMLHttpRequest();   
xhrDoc.open('GET', urls[0] , async)
if (xhrDoc.overrideMimeType)
    xhrDoc.overrideMimeType('text/plain; charset=x-user-defined')
xhrDoc.onreadystatechange =function()
{
if (this.readyState == 4)
{
    if (this.status == 200)
   {
    var data= this.response; //Here is a string of the text data 
   }

}                   
}
xhrDoc.send() //sending the request
0
edi9999