是否可以逐行检索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中似乎都不起作用。