javascript - 使用 Node.js 和 Express 提交表单时如何发送日期

标签 javascript jquery node.js mongodb forms

我关注了这个tutorial我可以在其中制作一个表单,用户可以在其中提交评论和姓名。但是,我想发送用户按下提交按钮的日期。它似乎只保存用户输入文本字段的数据。我不希望用户能够自己做。我该怎么做?

我以前用的是 jQuery,后来改用 Node.js/Express,因为我必须将数据保存到数据库,而且我不太了解。

index.ejs 上的代码:

  <form action="/tweets" method="POST">
 <input type="name" id="name" placeholder="name" name="name">
 <textarea type="text" id="tweet" placeholder="What's up?" name="tweet"></textarea>
 <button type="submit">Tweet!</button>
 </form>

每当我按下提交。名称和推文已保存,但我不知道如何保存日期。

.js代码是这样的:

app.post('/tweets', (req, res) => {
db.collection('tweets').save(req.body, (err, result) => {
 if (err) return console.log(err)

console.log('saved to database')
res.redirect('/')
})
})

当我使用 jQuery 时,我在 index.html 中有一个这样的按钮:

<input type="button" id="addTweet" value="Tweet!"/>

在 .js 文件中的什么地方是这样的:

  $('#addTweet').click(function(){
var addObj = {
  "name": $('#name').val(),
  "date": getTodayDate(),
  "body": $('#tweet').val()
}

这样我就可以保存他们单击按钮时的日期。在 Node.js 上,我不明白如何/在哪里可以输入日期。

最佳答案

一个可能的选择是在保存时修改您的请求。这当然假设您不必对底层数据库进行任何结构更改。

app.post('/tweets', (req, res) => {
  req.body.created_at = new Date();
  db.collection('tweets').save(req.body, (err, result) => {
    if (err) return console.log(err)

    console.log('saved to database')
    res.redirect('/')
  })
})

关于javascript - 使用 Node.js 和 Express 提交表单时如何发送日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46931656/

相关文章:

javascript - jQuery 音量 slider

javascript - 正文中的 Node HTML

javascript - 仅在打印时进行 DOM 操作

javascript - 添加自定义 header 到 pickadate

javascript - 当网页未在本地主机上运行时,IE 中的 window.sessionStorage 问题

jquery - 使用 jQuery :gt() with $(this)

javascript - module.exports 函数在传入变量时未定义

javascript - Mongoose:查询年份列表

javascript - 如何将项目附加到现有 Handlebars 模板中的列表?

javascript - 附加动态元素.find() jquery