我試圖做一個日誌解析器,每10秒更新一次日誌。它主要是功能性的,但是當我嘗試更新它時,它只是再次附加整個日誌,而不僅僅是新數據。只追加新的數據
我的javascript:
$(document).ready(function() {
var data;
var lines;
$.ajax({
async: false,
type: 'GET',
url: 'test.log',
success: function(log) {\
data = log;
lines = data.split("\n");
console.log("Received log");
}
});
function updateLog()
{
$.ajax({
async: false,
type: 'GET',
url: 'test.log',
success: function(log) {
data = log.replace(data, "");
lines = log.split("\n");
console.log("Received log");
}
});
$.each(lines, function(n, elem)
{
$('#text').append('<div>' + elem + '</div>');
});
}
$.each(lines, function(n, elem)
{
$('#text').append('<div>' + elem + '</div>');
});
setInterval(function(){updateLog();}, 10000);
});
例test.log中的內容:
Hello
How are you?
但不是隻增加潛在的新線路,它只是複製了整個事情,即使我認爲它不該」因爲replace
,這應該採取舊的data
並將其更改爲''
新數據(只留下新行)。
我修正了一些語法問題和定義'lines'。第一個解決方案運行良好,但第二個解決方案沒有。如果我在日誌中添加':DD',它會打印':D',然後繼續創建新的DIV/D行。謝謝。 – PMint
很高興你喜歡它。我提出了建議的編輯。我認爲第二個解決方案現在應該是固定的;我得到了傳遞給substring的索引的細節,包含/排他性錯誤。 – Semafoor