मैं करना चाहते हैं:पोस्ट डेटा app.js को
- इनपुट रूपों से दर्ज किया गया डेटा पुनः प्राप्त।
- socket.io के माध्यम से डेटा भेजने और कंसोल लॉग कह किया
- एक्सप्रेस app.js पर डेटा प्राप्त
- नेवला का उपयोग कर एक MongoDB डेटाबेस में डेटा सम्मिलित भेजें।
मैं उत्सर्जित संदेशों को समझता हूं लेकिन यह सुनिश्चित नहीं करता कि डेटा कैसे पोस्ट किया जाए।
//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);
});
});
यह थोड़ा भ्रमित लगती है। आप डेटा throuch socket.io प्राप्त करना चाहते हैं और फिर एक्सप्रेस के माध्यम से इसे "मार्ग" क्यों प्राप्त करना चाहते हैं? मुझे लगता है कि एक विकल्प बनाना बुद्धिमान होगा: या तो फॉर्म को पोस्ट करें (और शायद सॉकेट के माध्यम से एक अधिसूचना वापस भेजें) या सॉकेट पर डेटा को जारी रखने के लिए भेजें। –