我有一个简单的表单,它使用Express将POST数据发送到Node.JS服务器。这是以下形式:用Express表单接收req.body与邮件表单node.js
<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窗口小部件和输入相关型号与typehead
,从Twitter自动完成库。 这是我如何处理在服务器POST请求:
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')
})
});
});
});
控制台显示我“{}”,然后用req.body.search
一个错误,因为search
没有定义。我不知道这里发生了什么,也不是与typehead
输入有关的问题。这个问题的任何解决方案...?
谢谢先进!
我想补充控制台检查到处检查什么'req.body'被输出为好,如果'req.body'是空的那么我会看看你传递给/ sendmessage的方式有什么问题 – germainelol 2013-03-10 13:28:25
尝试在输入字段中添加一个名称=“搜索”属性。 – JohnnyHK 2013-03-10 14:12:13