Javascript 使用AJAX发布到节点服务器

Javascript 使用AJAX发布到节点服务器,javascript,ajax,node.js,xmlhttprequest,Javascript,Ajax,Node.js,Xmlhttprequest,我今天才发现Node.js,我读了很多书,这让我头疼。我已经启动并运行了节点服务器。我在节点服务器上还有一个.JS文件,可以写入文本文件。我希望只看到一个变量(名称)从Javascript应用程序传递到运行Node.js的服务器,以便更新日志文件。据我所知,AJAX是实现这一点的最佳方法。有人能给我一个关于如何做到这一点的小代码示例,让我朝着正确的方向前进吗 运行节点的服务器上File.js的代码 var fs = require('fs'), str = 'some text'; fs.ope

我今天才发现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');
});
}));
});

我会这样做你提到的:

制作一个快速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中使用参数。关于如何做到这一点的更多信息可以准确地找到


祝你好运

我会这样做你提到的:

制作一个快速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中使用参数。关于如何做到这一点的更多信息可以准确地找到


祝你好运

嗨Kaushik-谢谢你的精彩帖子。你能详细说明一下127.0.0.1:1337/写作吗?我不需要调用服务器端的.js文件来传递变量吗?对不起,我刚刚才知道。现在把我的评论放大;)嘿,达比。当您向节点服务器发出请求时,您在
req
对象中拥有关于请求的所有信息。node的工作方式实际上只是一个javascript运行程序。但它的强大之处在于它有
http
net
,以及许多其他软件包,这些软件包允许您创建高度可扩展的服务器。它非常灵活,但需要指定很多内容。深入研究,您将了解参数
write
是如何传入的。同时查看最新的编辑。嗨,Kaushik-这对我来说开始更有意义了。对于http请求,我在javascript应用程序中添加了[link]中的javascript代码,并将url更改为,当我在客户端web浏览器中点击javascript应用程序时,我得到了一个成功的弹出窗口。接下来,我将您的第一个代码和修改后的函数添加到一个.js文件中,并将其保存在节点服务器上。我假设我需要在节点服务器上的cmd提示符中运行该js文件,然后才能被javascript应用程序中的httprequest获取?我将Sysntax erRefer设置为。感谢Kaushik,我能够使用您的方法使日志文件部分正常工作。现在,我将尝试从在javascript应用程序中创建cookie的代码部分创建这个httprequest。你能详细说明一下127.0.0.1:1337/写作吗?我不需要调用服务器端的.js文件来传递变量吗?对不起,我刚刚才知道。现在把我的评论放大;)嘿,达比。当您向节点服务器发出请求时,您在
req
对象中拥有关于请求的所有信息。node的工作方式实际上只是一个javascript运行程序。但它的强大之处在于它有
http
net
,以及许多其他软件包,这些软件包允许您创建高度可扩展的服务器。它非常灵活,但需要指定很多内容。深入研究,您将了解参数
write
是如何传入的。同时查看最新的编辑。嗨,Kaushik-这对我来说开始更有意义了。对于http请求,我在javascript应用程序中添加了[link]中的javascript代码,并将url更改为,当我在客户端web浏览器中点击javascript应用程序时,我得到了一个成功的弹出窗口。接下来,我将您的第一个代码和修改后的函数添加到一个.js文件中,并将其保存在节点服务器上。我假设我需要在节点服务器上的cmd提示符中运行该js文件,然后才能被javascript应用程序中的httprequest获取?我将Sysntax erRefer设置为。感谢Kaushik,我能够使用您的方法使日志文件部分正常工作。我现在将尝试从在javascript应用程序中创建cookie的代码部分生成此httprequest。