Import Text File Using Javascript

2019-02-10 14:10发布

问题:

I am currently working on an application that handles a fairly large amount of data. Currently, I've hard-coded those values into the Javascript iself (defining global arrays), but this method does not seem sustainable.

Is there a way to use Javascript to parse a .txt file located in the same directory on the server? I know this question has probably been asked before, but I've only found answers pertaining to accessing system-local text files.

回答1:

Use AJAX. I suggest encoding the file in JSON format, rather than plain text. If you use jQuery, you can then use $.getJSON('filename.txt') to read the file and parse it into a Javascript object in one operation.



回答2:

Here is native javascript solution without libraries.

http://caniuse.com/xhr2

As it's async you have to create 2 functions

one to read and another one to show/modify or whatever

function read(textFile){
    var xhr=new XMLHttpRequest;
    xhr.open('GET',textFile);
    xhr.onload=show;
    xhr.send()
}

function show(){
    var pre=document.createElement('pre');
    pre.textContent=this.response;
    document.body.appendChild(pre)
}

read('text.txt');

if you work alot with external files i suggest also to take a look at the new javascript classes new FileReader() and window.requestFileSystem()

where new FileReader() has now a little more support, also on mobile devices

and from what i know window.requestFileSystem() has almost no support.. but you can handle files that are various gb large.. using Chrome.