0

我今天才真正发现了 Node.js,而且我读了这么多书,让我头疼。我已经启动并运行了节点服务器。我在节点服务器上也有一个 .JS 文件,它写入一个文本文件。我希望看到只有一个变量(名称)从我的 Javascript 应用程序传递到运行 Node.js 的服务器,以便更新日志文件。从我读过的内容来看,AJAX 是做到这一点的最佳方式。有人可以通过一个关于如何执行此操作的小代码示例让我朝着正确的方向前进吗?

服务器运行节点上的 File.js 代码

var fs = require('fs'), str = 'some text';
fs.open('H://log.txt', 'a', 666, function( e, id ) 
{
  fs.write( id, str + ',', null, 'utf8', function(){
  fs.close(id, function(){
  console.log('file is updated');
});

}); });

4

1 回答 1

3

这就是我将如何做你提到的:

创建一个快速的 http 服务器,查看任何连接的请求变量,并获取传入的参数,并将其写入文件。

var http = require('http');
http.createServer(function (req, res) {
    var inputText = req.url.substring(1);
    processInput ( inputText );
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Completed.');
}).listen(1337, '127.0.0.1');

在此处编辑:当然,您仍然需要定义是什么processInput

function processInput ( text )
{
    // What you had before
    var fs = require('fs');
    fs.open ('H://log.txt', 'a', 666, function (e, id )
    {
        fs.write ( id, text + ',', null, 'utf8', function() {
            fs.close(id, function() {
               console.log('file is updated');
            }
        }
    });
}

这样,当您向

127.0.0.1:1337/写

它会将单词“write”写入文件(如果 processInput 写入输入)。

另一种处理方法是在 URI 中使用参数。有关如何执行此操作的更多信息,请在 nodejs api中找到。

祝你好运!

于 2012-04-26T22:37:21.990 回答