下面給出了明確的代碼:- 無論我如何嘗試,我得到的res.body都是({})。 我找不到錯誤的原因 我甚至檢查了檔案,但沒有結果
const app = express();
const Blog = require('./models/blog') 。
//啟用帖子請求。
app.use(express.json()。
app.use(express.urlencoded({extended : true})。
//for views
//views enable dynamiiic content loading more suitable for real life website; // view.
app.set('view engine', 'ejs') 。
app.listen(3000)。
app.get('/', (req, res) =>/span>{
//res.sendFile('./html-pages/index.html', {root : __dirname});
//使用視圖和發送物件。
//pasing values to ejs files
res.redirect('/blogs') 。
});
//post method
app.post('/blogs', (req, res) => /span> {
console.log(req.body)。
// const blog = new Blog(req.body);.
});
app.get('/blogs/create', (req, res) => //span> {
res.render('create'/span>, {title : '創建一個博客'})
})
表單代碼:--ejs檔案 這個檔案包含用于提交博客的表單=
<div class="create-blog content">
< form action="/blogs" method="POST">
<label for="title"/span>> 博客標題</label>
< input type="text"/span> id="title"/span> name: "title" required>
<label for="snippet"/span>> 博客片段</label>。
< input type="text"/span> id="snippet"/span> name: "snippet" required>
<label for="body"/span>> 博客正文</label>。
<textarea id="body" required name。 "body"></textarea>/span>
<button>submit</button>
</form>/span>
</div>/span>
uj5u.com熱心網友回復:
這是很難理解的問題,但我在你的前臺表單中看到了錯誤。 應該是這樣的:
<form action="/blogs"/span> method="POST"/span>>
<label for="title"/span>> 博客標題</label>
< input type="text"/span> id="title" name="title" required />
<label for="snippet"/span>> 博客片段</label>。
< input type="text"/span> id="snippet" name="snippet" required />
<label for="body"/span>> 博客正文</label>
< input type="text" name="body" required />
< input type="submit" value="submit">
</form>/span>
注意,在POST正文中,只有那些帶有name屬性的欄位才會被發送。
并且在后端使用bodyparser。
uj5u.com熱心網友回復:
看起來你的javascript檔案中沒有問題。但是在<input>標簽里面的handlebars,你必須使用=而不是:,這樣可能會好一些。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/310206.html
標籤:
上一篇:如何在另一個物件內獲取一個物件?
下一篇:設定一個字串的元組作為dict鍵
