通过 AJAX 监控文件更改,如何?

use*_*201 3 ajax file real-time

我正在寻找一种通过 AJAX(而不是通过 JS 框架!)来实时监控文件更改的方法。如果对该文件进行了更改,我需要它发出警报消息。我是一个完全的 AJAX 菜鸟,所以请保持温和。;-)

编辑:让我更详细地解释一下目的。我正在使用我用 PHP 为 webhop 编写的聊天脚本,我想要的是从管理模块监控聊天请求。聊天记录存储在文本文件中,如果有人开始聊天会话,则会创建一个新文件。如果是这种情况,我想在管理模块中实时查看。

说得通?

Ale*_*pin 5

要使用 AJAX 监视文件的更改,您可以执行以下操作。

var previous = "";

setInterval(function() {
    var ajax = new XMLHttpRequest();
    ajax.onreadystatechange = function() {
        if (ajax.readyState == 4) {
            if (ajax.responseText != previous) {
                alert("file changed!");
                previous = ajax.responseText;
            }
        }
    };
    ajax.open("POST", "foo.txt", true); //Use POST to avoid caching
    ajax.send();
}, 1000);
Run Code Online (Sandbox Code Playgroud)

我刚刚测试了它,它工作得很好,但我仍然认为 AJAX 不是这里的方法。对于大文件,比较文件内容会很慢。此外,您没有提到任何框架,但您应该为 AJAX 使用一个框架,以处理跨浏览器的不一致问题。