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

使用Jquery$.get()逐行检索文本文件,jquery,ajax,cross-domain,Jquery,Ajax,Cross Domain,是否可以逐行检索txt文件内容 现在我正在使用以下代码: var file = "http://plapla.com/pla.txt"; function getFile(){ $.get(file,function(txt){ save(txt.responseText); }); } save函数将内容保存到变量中。 在我打印出来之后,检索文件的所有内容都在彼此的末尾(而不是一行一行)。Javascript只能发出一个HTTP请求,它会返回一个包含全文的HTT

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

现在我正在使用以下代码:

var file = "http://plapla.com/pla.txt";
function getFile(){
     $.get(file,function(txt){
        save(txt.responseText);
 }); 
}
save函数将内容保存到变量中。
在我打印出来之后,检索文件的所有内容都在彼此的末尾(而不是一行一行)。Javascript只能发出一个HTTP请求,它会返回一个包含全文的HTTP响应。不要想通过打开套接字逐行读取

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

lineByLine = readData.split("\n");
process(lineByLine[0]); // First line

我不确定你的意思是,当你打印文件时,它会被推到一行上,还是说你想把文件一行一行地分开

如果问题是当您显示它时,它被推到了一起,那只是因为您将它放在一个HTML页面中,这意味着新行被忽略。然后,您有两个选项,或者用

标记替换所有换行符,或者将所有文本放在预标记中

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));
    }); 
}
var文件=”http://plapla.com/pla.txt";
函数getFile(){
$.get(文件、函数(txt){
保存(txt.responseText.replace(/\n/g,“
”); }); } //或 变量文件=”http://plapla.com/pla.txt"; 函数getFile(){ $.get(文件、函数(txt){ 保存($(“”).text(txt.responseText)); }); }
如果您只想逐行处理数据,那么一旦收到数据,您就可以用它做任何您喜欢的事情,就像逐行分割一样

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]);
        }
    }); 
}
var文件=”http://plapla.com/pla.txt";
函数getFile(){
$.get(文件、函数(txt){
var lines=txt.responseText.split(“\n”);
对于(变量i=0,len=lines.length;i
如果要逐行显示(保留编码的换行符),最简单的方法是将检索到的文本推入textarea元素,而不是div(或类似元素)。浏览器会智能地适当处理传入的文本

自我更新:注意到这两种技术(data.replace()或仅使用textarea)在IE9中似乎都不起作用