使用Jquery $ .get()逐行检索文本文件

kar*_*arq 6 ajax jquery cross-domain

是否可以逐行检索txt文件内容?

现在我正在使用这段代码:

var file = "http://plapla.com/pla.txt";
function getFile(){
     $.get(file,function(txt){
        save(txt.responseText);
 }); 
}
Run Code Online (Sandbox Code Playgroud)

save函数将内容保存到变量中.在我打印出来之后,所有已重复文件的内容都在彼此的末尾(不是逐行).

log*_*yth 14

我不确定你是否意味着当你打印出文件时它被全部推到一行,或者你是说你想要逐行划分文件.

如果问题在于,当您显示它时,它会被推到一起,这只是因为您将它放入HTML页面,这意味着将忽略换行符.您有两个选项,或者用<br />标签替换所有换行符,或者将所有文本放在预标签中.

var file = "http://plapla.com/pla.txt";
function getFile(){
    $.get(file,function(txt){
        save(txt.responseText.replace(/\n/g, "<br />");
    }); 
}

// OR

var file = "http://plapla.com/pla.txt";
function getFile(){
    $.get(file,function(txt){
        save($("<pre />").text(txt.responseText));
    }); 
}
Run Code Online (Sandbox Code Playgroud)

如果您只想逐行处理数据,那么一旦收到数据,您可以随意使用它,就像逐行分割一样.

var file = "http://plapla.com/pla.txt";
function getFile(){
    $.get(file,function(txt){
        var lines = txt.responseText.split("\n");
        for (var i = 0, len = lines.length; i < len; i++) {
            save(lines[i]);
        }
    }); 
}
Run Code Online (Sandbox Code Playgroud)


Mus*_*afa 5

Javascript 只能发出 HTTP 请求,这将返回带有全文的 HTTP 响应,不要通过打开套接字并逐行读取来理解逐行读取的想法。

但是,如果您的意思是逐行处理已读取的数据,您可以执行以下操作:

lineByLine = readData.split("\n");
process(lineByLine[0]); // First line
Run Code Online (Sandbox Code Playgroud)