我正在使用以下代码从不断增长的文本日志文件中读取数据。
setInterval(call, 1000);
function call() {
$.ajax({
type: "GET",
url: "GenNumber.txt",
dataType: "text",
success: function(data) {
readdata(data);
},
});
}
我的查询是,ajax 是否在每次调用中读取完整的文件或上次调用中添加的(新)行。如果每次调用都读取整个文件,则当文件大小越来越大时,它可能会崩溃。有没有办法只读取上次调用的新行并在文件停止增长时停止程序。
谢谢
最佳答案
您可以将 headers
参数用作 ajax 的 settings
参数。 () 函数设置 Range
HTTP header 来限制您接收的数据。
一些例子:
bytes=9500-
将在偏移量 9500 处开始发送数据。
bytes=-500
将发送最后 500 个字节。 这要求 HTTP 服务器支持范围(大多数都支持)。
Range header 记录在 RFC 7233 中.
以您的示例代码为例:
$.ajax({
type: "GET",
url: "GenNumber.txt",
dataType: "text",
success: function (data) { readdata(data); },
headers: {
"Range" : "bytes=-500"
}
});
关于javascript - 从 javascript 读取实时日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35451918/