是否可以逐行检索txt文件内容?
现在我正在使用此代码:
var file = "http://plapla.com/pla.txt";
function getFile(){
$.get(file,function(txt){
save(txt.responseText);
});
}
保存功能将内容保存到变量中。 在我打印出来之后,所有已检索文件的内容都在彼此的末尾(不是逐行)。
答案 0 :(得分:13)
我不确定你是否意味着当你打印出文件时它被全部推到一行,或者你是说你想要逐行划分文件。
如果问题是当你显示它时,它会被推到一起,这只是因为你将它放入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]);
}
});
}
答案 1 :(得分:4)
Javascript只能发出一个HTTP请求,它会返回一个带有全文的HTTP响应,不想通过打开套接字逐行读取并逐行读取。
但是,如果您的意思是逐行处理已读取的数据,则可以执行以下操作:
lineByLine = readData.split("\n");
process(lineByLine[0]); // First line
答案 2 :(得分:0)
如果您尝试逐行显示(保留编码换行符),最简单的方法是将检索到的文本推送到textarea元素而不是div(或类似)。浏览器会智能地处理传入的文本。
自我更新:注意到这两种技术(data.replace()或仅使用textarea)似乎都不适用于IE9。