通过node.js插入mongodb中的数据



我必须通过节点js将数据插入mongodb。(+编辑(这是我的插入代码

app.post('/composemail', express.urlencoded({extended:true}), function(req,res) {
var db = req.db;
var collection = db.get('emailList');
var sender = "abc@mail.com";
var recipient = req.body.recipient;
var title = req.body.title;
var time = req.body.time;
var content = req.body.content;
var mailbox = req.body.mailbox;
var newmail = {'sender':sender,'recipient':recipient,'title':title,'time':time,'content':content,'mailbox':mailbox};
collection.insert(newmail, function(err,result) {
if (err === null) {
res.send("Successfully added!");
} else res.send(err);
})
})

(+编辑(这是我的html代码。表单由脚本生成。点击"撰写"按钮时,会触发功能撰写

function compose() {
emailDIV.innerHTML = "<form name='compose' action='/composemail' method='post'> New Message";
emailDIV.innerHTML += "<p>To: <input type='textbox' name='recipient'></p>";
emailDIV.innerHTML += "<p>Subject: <input type='textbox' name='title'></p>";
emailDIV.innerHTML += "<p><input type='textarea' name='content' class='textarea'></p>";
emailDIV.innerHTML += "<input type='hidden' name='mailbox' value='"+nowBox+"'>";
date = new Date();
time = date.toTimeString().split(' ')[0]+" "+date.toDateString();
emailDIV.innerHTML += "<input type='hidden' name='time' value='"+time+"'>";
emailDIV.innerHTML += "<input type='submit' value='Send'> </form>";
}

但是,如果表单是直接用HTML编写的,它就可以工作了!

<div id="test">
<form name='compose' action='/composemail' method='post'>
New Message
<p>To: <input type='textbox' name='recipient'></p>
<p>Subject: <input type='textbox' name='title'></p>
<p><input type='textarea' name='content' class='textarea'></p>
<input type='hidden' name='mailbox' value='Important'>
<!--date = new Date();
time = date.toTimeString().split(' ')[0]+" "+date.toDateString(); -->
<input type='hidden' name='time' value='20:00:01 Wed Nov 06 2019'>
<input type='submit' value='Send'> </form>
</div>

但是表单必须仅在单击按钮时生成。我该怎么办?

通过移动隐藏的div解决了问题。感谢大家的帮助。

最新更新