這是我在后端的 index.js 檔案中的一個小代碼:
var topic = "";
app.post(`/posts`,(req,res)=>{
topic = req.body.ReadMore;
res.redirect(`/posts/${topic}`);
});
app.get(`/posts/${topic}`, (req,res) => {
res.render('page')
})
我正在嘗試更改變數的值,topic然后我想重定向到/posts/topic. 但是,我收到此錯誤:(Cannot GET /posts/topicName控制臺顯示錯誤 404)。為什么這不起作用?此外,如果我只是將 topicName 硬編碼到我的 get 請求中,例如,
app.get('/posts/topicName', (req,res) => {
res.render('page')
})
它完美地作業。但就我而言,我有很多可以傳遞給服務器的主題,我需要相關地呈現頁面。
uj5u.com熱心網友回復:
被/posts/${topic}評估一次。因此,如果topic是一個空字串,中間件會將路徑的值視為/posts/. 即使你改變了topic變數的值,路徑也已經設定好了。
您可以使用它/post/:topic來將主題作為 express 的動態引數。然后你可以使用
const topic = "";
app.get(`/posts/:topic`, (req,res,next) => {
const param_topic = req.params.topic;
if (param_topic == topic) {
// do something
}
else
{
return next()
}
)}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/497627.html
標籤:javascript 节点.js 表示
