在服务器上创建从jquery到txt文件的日志文件

时间:2017-06-29 21:19:19

标签: php jquery ajax post logging

我在网上找不到,所以我在这里要求一些帮助。 我想创建一个日志文件,当有人按下按钮时,它会将文本发送到log.txt文件。 我只是在寻找基于Jquery ajax和PHP

的基本代码

由于

2 个答案:

答案 0 :(得分:0)

没有基本代码用于jquery日志记录到服务器

  1. 首先,您必须决定要调用服务器的次数,
    • 每个日志条目将在服务器上加载太多,
    • 将所有内容附加到js数组并在会话结束时发布?什么时候会议结束?如果用户关闭浏览器怎么办?所有的日志都没了? (见下文我的建议)
  2. 你必须在服务器上创建一个端点来获取日志条目并将它们附加到文件中,然后你应该考虑存储,以及如何组织来自多个客户端的日志。
  3. 我建议使用带有AjaxAppender的log4javascript库,参见示例here,然后可以使用setBatchSize批量发送或setTimed按时间间隔发送,请参阅文档here,也可以将setSendAllOnUnload添加到不要在浏览器关闭时丢失消息(在大多数情况下)。

    在服务器中我会将log4php与LoggerAppenderRollingFile一起使用,请参阅here

答案 1 :(得分:0)

我没有时间为你编码,但这是基本的逻辑。您可以查看如何单独执行每个项目。

您需要为click事件添加一个带有jquery的事件监听器,并将其绑定到该按钮。

在其中,对服务器上的某个端点或脚本发出ajax请求,以更新日志文件。

当执行该脚本时(通过ajax调用),您可以让PHP打开该文件并为其添加一行,其中包含您想要的任何数据。

JavaScript的:

$('button').on('click', function() {
  $.ajax({
    // do ajax request here
  });
});

PHP:

$file = fopen("log.txt","rw");
$fileContents = fread($file, filesize("log.txt"));
fwrite($file, $fileContents."Someone clicked button\r\n");
fclose($file);

这样的事情。很抱歉没有给出完整的解释,但我希望它有所帮助。