通过socket.io将数据发送到app.js

我想要:

  • 检索从input表单input的数据。
  • 通过socket.io发送数据并发送控制台日志说完成
  • 接收快速app.js的数据
  • 使用mongoose将数据插入到mongodb数据库中。

我明白发出消息,但不知道如何发布数据。 先谢谢你

我的app.js是这样设置的:

//app.js config ... var socket = io.listen(server); socket.on('connection', function(socket) { console.log('socket.io connected'); }); app.post('/go', function(req, res) { socket.on('data', function(data) { new Order({ routeFrom : data.routeFrom, routeTo : data.routeTo, leaving: data.leaving }).save(function(err, docs) { if(err) { console.log("error"); } res.json(data); }); socket.emit('callback', {done: 'Done'}); }); }); 

我的index.ejs文件:

  <script src="/socket.io/socket.io.js"></script> 

  var socket = io.connect('http://localhost:3000'); $('#send').on('click', function() { $.post('/go', { socket.emit('data', { routeFrom: $('#rf').val(), routeTo: $('#rt').val(), leaving: $('#l').val() }); }); socket.on('callback', function(data) { console.log(data); }); }); 

根本不需要POST

我会在客户端做:

 var socket = io.connect('http://localhost:3000'); $('#send').on('click', function(event) { event.preventDefault(); socket.emit('data', { routeFrom: $('#rf').val(), routeTo: $('#rt').val(), leaving: $('#l').val() }); }); socket.on('callback', function(data) { console.log(data.done); // Print the data.data somewhere... }); 

而在服务器端:

 //app.js config ... var socket = io.listen(server); socket.on('connection', function(socket) { console.log('socket.io connected'); }); socket.on('data', function(data) { new Order({ routeFrom : data.routeFrom, routeTo : data.routeTo, leaving: data.leaving }).save(function(err, docs) { if(err) { return console.log("error"); } socket.emit('callback', {done: 'Done', data: data}); }); });