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



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

现在我使用这个代码:

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

save函数将内容保存到一个变量中。在我打印出来之后,检索文件的所有内容都在彼此的末尾(而不是逐行(。

我不确定你是说当你打印出文件时,它会被全部推到一行上,还是说你想逐行分割文件。

如果问题是当你显示它时,它被推到了一起,那只是因为你把它放在了一个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));
    }); 
}

如果你只想逐行处理数据,那么一旦你收到它,你就可以对它做任何你喜欢的事情,就像逐行拆分一样。

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]);
        }
    }); 
}

Javascript只能发出HTTP请求,它会向您返回一个带有全文的HTTP响应,而不是通过打开套接字逐行读取来获得逐行读取的想法。

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

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

如果您试图逐行显示(保留编码的换行符(,最简单的方法是将检索到的文本推送到textarea元素中,而不是div(或类似的元素(中。浏览器智能地适当处理传入的文本。

自我更新:注意到这两种技术(data.replacement((或只是使用文本区域(在IE9中似乎都不起作用。

相关内容

  • 没有找到相关文章

最新更新