我有一個簡單的表單,它使用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