簡體   English   中英

嘗試使用 PUT 路由更新字幕 (node.js/express)

[英]Trying to update captions with a PUT route (node.js/express)

我正在嘗試通過使用update.ejs頁面上的表單來更新我的帖子表中的標題列。

出於某種原因,它只是將我重定向回我的index.ejs頁面,而不更新我的數據庫。 任何人都可以發現我的路線或 ejs 頁面有什么問題嗎?

這是我的更新路線:

app.get('/update', (req, res) => {
  console.log(res.locals.alerts);
  res.render('update', { alerts: res.locals.alerts });
});

// update caption
app.put('/update', isLoggedIn, (req, res) => {
  console.log('--- PUT route ---');
  // console.log(req.body.id)
  // const id = req.body.id
  db.post.update({
    caption: req.body.caption
  }, {
    where: { id: req.body.id }
  }).then(() => {
    res.redirect('/')
  })
})

這是update.ejs

<form action="/update?_method=put" method="POST" enctype="multipart/form-data">
    <input type="text" value="<%= post.id %>" name="caption" placeholder="New Caption:" id="updatePostText" >
    <input type="submit" class="btn btn-primary" id="postSubmit" value="Update">
</form>

您使用 http 方法POST提交 html 表單,在您的快速應用程序中,您使用.put作為您的路線,因此您應該將后者更改為:

app.post('/update', isLoggedIn, (req, res) => { ... }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM