gpt4 book ai didi

javascript - 使用 EJS 将 JS 转移到另一个 View

转载 作者:行者123 更新时间:2023-12-02 22:18:52 26 4
gpt4 key购买 nike

我很感激这里有一手牌,可能是一手简单的手牌,但已经晚了,我已经打败了。我想我需要第二双眼睛来关注这个问题。

用户名是我试图传递的变量,我是新人,所以不确定礼仪,我认为在我的帖子中最好少写代码,所以我只是把我的 .post 放在我的 .post 中,然后链接我的 git 中心,以防有人想看其余相关代码。

<header>
<nav class="navbar navbar-expand-md navbar-dark bg-success">
<a class="navbar-brand" href="/urls">TinyApp</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavAltMarkup">
<div class="navbar-nav">
<a class="nav-item nav-link" href="/urls">My URLs</a>
<a class="nav-item nav-link" href="/urls/new">Create New URL</a>
</div>
</div>
<p>
***<% username %>***
</p>
</nav>
</header>

我注释掉了一个 if 语句,似乎不起作用,也没有完全导致代码中断。

//redirect to index page after 'login'
app.post('/index', (req, res) => {
// if (req.cookies["username"]) {
// let templateVars = { urls: urlDatabase, username: req.body.username };
// } else {
// let templateVars = { urls: urlDatabase };
// }
res.cookie('username', req.body.username);
let templateVars = { username: req.body.username };

console.log(templateVars.username);
res.redirect('urls', 200, templateVars);
});

最佳答案

您没有正确使用res.redirect()。函数签名是这样的:

res.redirect([status,] path)

它只需要两个参数,一个可选的状态代码和一个将浏览器重定向到的 URL 或路径。您没有正确传递任何这些参数。

正常使用 res.redirect() 如下所示:

res.redirect("/home");

如果您省略状态,它将默认为 302。

<小时/>

也许你打算这样做:

res.render('urls', templateVars);

它将使用 templateVars 对象作为模板的属性来渲染名为 urls 的模板,并且该模板将作为新的 HTML 文档返回,以在表单 POST 之后显示引起了这个请求?

<小时/>

如果您尝试做的是重定向到另一个网址,然后让它以某种方式使用 templateVars 在重定向后进行渲染,则不能这样做。

关于javascript - 使用 EJS 将 JS 转移到另一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59298826/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com