发送来自客户端的请求到node.js

为了学习node.js,我构build了一个非常简单的留言板应用程序。 基本上只有一个评论表和一个以前的评论列表。 目前该应用程序只是客户端,而且这些项目存储在本地存储器中。

我想要做的是发送项目到节点,我将使用Mongo DB保存它们。

问题是我还没有find一种方法来build立一个连接,使用POST请求来回发送客户端和node.js数据。

在服务器端,我添加了侦听器,并等待数据:

request.addListener('data', function(chunk) { console.log("Received POST data chunk '"+ chunk + "'."); }); 

在客户端,我使用简单的AJAX请求发送数据:

 $.ajax({ url: '/', type: 'post', dataType: 'json', data: 'test' }) 

目前这根本不起作用。 这可能是因为我不知道在AJAX请求“url”参数中放置什么url。 或者整个事情可能只是使用错误的方法构build。

我也尝试过这里描述的方法,但也没有成功。

如果有人能分享一些关于如何完成这个工作的技巧(从客户端发送POST请求到节点并返回),或者分享任何好的教程,那真的很有帮助。 谢谢。

我刚刚创build了你想尝试只是一个客户端和服务器之间的JSON数据连接的skiliton,它的工作,你可以检查下面的代码

服务器端 :

 var http = require("http"); var url = require("url"); var path = require("path"); var ServerIP = '127.0.0.1', port = '8080'; var Server = http.createServer(function (request , response) { console.log("Request Recieved" + request.url); var SampleJsonData = JSON.stringify([{"ElementName":"ElementValue"}]); response.end('_testcb(' + SampleJsonData + ')'); // this is the postbackmethod }); Server.listen(port, ServerIP, function () { console.log("Listening..." + ServerIP + ":" + port); }); 

我可以强烈推荐node.js( http://socket.io/ )的socket.io-modul。 它使build立连接和传递数据很容易! 它运行事件驱动和非阻塞。

您可以使用另一个callback。

只需添加这个

 response.addListener('end', function(){ console.log('done') // Now use post data. }); 

阅读后数据。

我有同样的问题,它的工作

使用socket.io这个。 对于客户端和服务器之间的通信,使用emit()和on()方法。 例如:如果要将发布的数据从客户端发送到服务器,在客户端,发送带有发布参数的事件。 现在在服务器端创build一个事件监听器,监听客户端发出的相同事件。 在客户端:

  socket=io(); $('form').submit(function(){ var param1=$('param1').val(); ... socket.emit('mypost',param1); }); 

在服务器端:

  var io=socket(require('http').Server(require('express')())); io.on('connection',function(client){ client.on('mypost',function(param1){ //...code to update database }); });