I have a simple form that sends POST data to my Node.JS server using Express. This is the form:
<form method="post" action="/sendmessage"> <div class="ui-widget"> <input type="text" id="search" data-provide="typeahead" placeholder="Search..." /> </div> <textarea id="message"></textarea> </form>
ui-widget and login come out using typehead , an autocomplete library from Twitter. And this is how I handle the POST request on the server:
app.post('/sendmessage', function (req, res){ console.log(req.body); usermodel.findOne({ user: req.session.user }, function (err, auser){ if (err) throw err; usermodel.findOne({ user: req.body.search }, function (err, user){ if (err) throw err; var message = new messagemodel({ fromuser: auser._id, touser: user._id, message: req.body.message, status: false }); message.save(function (err){ if (err) throw err; res.redirect('/messages') }) }); }); });
The console shows me '{}' and then an error with req.body.search because search is undefined. I don't know what is going on here, and this is not a problem with typehead input. Any solution to this problem ...?
Thanks in advance!
source share