我正在开发一个非常简单的Web应用程序,它只显示静态数据,没有服务器,只有html,css和javascript。此应用程序需要的一个功能是每次启动应用程序时读取和写入日志文件(index.html在浏览器中打开)。日志文件非常简单,每次启动应用程序时都应该将1或0记录到.txt文件中。当应用程序启动时(打开index.html),它应该读取日志文件的最后一个值,将其另存为进一步逻辑的变量,然后再次写入日志文件。纯javascript / jQuery这可能吗?我试图避免使用node.js服务器或任何数据库,因为我的客户希望这尽可能简单。我在下面尝试过这个jQuery,但是我得到了这个错误...“jquery-2.2.3.js:9203 XMLHttpRequest无法加载'”。非常感谢任何帮助,谢谢。
$(document).ready(function() {
// Get Log File
function getLog() {
$.ajax({
url: 'file:///xxx/xxx/Desktop/app/logfile.txt', // fake path obvi
dataType: 'text',
success: function(text) {
$("#Adaptors").text(text);
setTimeout(getLog, 10000); // refresh every 10 seconds
console.log("got Log: ", text);
}
})
}
getLog();
});
答案 0 :(得分:1)
客户端javascript在文件系统的任何位置编写是不太可能或不方便的。您应该做什么而不是 在您的服务器上创建一个专门用于记录的端点。
您的服务器端javascript具有从文件系统读/写的能力,因此必须从那里进行任何日志记录。我知道使用Node
/ ExpressJS
服务器可以轻松实现这一点。
例如,您的客户端可以POST
到/logs/error
的日志记录端点,其中包含JSON
对象中的任何日志/错误。然后,服务器将格式化并将该日志写入文件系统。
编辑:我应该澄清可能,但不是在用户繁琐地给予javascript想要执行的文件系统的每次交互的权限之前。这不是你想要的日志记录。