/ / POST данни чрез socket.io в app.js - node.js, mongodb, express, socket.io

POST данни чрез socket.io към app.js - node.js, mongodb, express, socket.io

Бих искал да:

  • извличане на данни, въведени от формуляри за въвеждане.
  • изпрати данните чрез socket.io и изпрати конзола дневник каза
  • получавате данните за express app.js
  • вмъкнете данните в база данни mongodb, използвайки мангуста.

Разбирам, че излъчват съобщения, но не съм сигурен как да публикувам данни. Благодаря ви предварително

my 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);
});

});

Отговори:

10 за отговор № 1

Не е нужно 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});
});
});