在登录/注册表单的请求正文中传输数据时遇到问题

编程入门 行业动态 更新时间:2024-10-04 01:17:08

在登录/注册<a href=https://www.elefans.com/category/jswz/34/1771263.html style=表单的请求正文中传输数据时遇到问题"/>

在登录/注册表单的请求正文中传输数据时遇到问题

我已经使用 NodeJS 制作了登录/注册页面和相应的路由。我面临的问题是,在单击提交按钮时,注册路由正在调用,但数据未在请求正文中传输。 显示此错误消息

{“消息”:“用户验证失败:用户名:路径

username
是必需的。,密码:路径
password
是必需的。”}, 我也在邮递员上跑过这条路线。那里一切正常。数据已正确存储在数据库中。

这是注册表。

<div id="signup-form">
        <h2>Signup</h2>
        <form method="post" action="/signup">
            <div class="form-floating mb-3">
                <input type="text" class="form-control" for="username">
                <label for="username">Username</label>
            </div>
            <div class="form-floating">
                <input type="password" class="form-control" for="password">
                <label for="password">Password</label>
            </div>

            <button type="submit" class="btn btn-primary" onclick="showLoginForm()">Signup</button>
        </form>
        <div class="instead-button">
            <button class="btn btn-primary" onclick="showLoginForm()">Login instead</button>
        </div>
    </div>

这是后端代码

app.post('/signup', async (req, res) => {
  try {
    console.log('inside');
    const { username, password } = req.body;
    const user = await User.create({ username, password });
    res.status(201);
  } catch (error) {
    res.status(400).json({ message: error.message });
  }
});
回答如下:

您在 HTML 代码中犯了一个小错误。 当您提交表单时,主体将由输入字段的

name
属性获取。
但是
您已将
for
属性添加到
input
字段。并且缺少
name
属性。

因此问题是。

将您的代码更改为此:

<div id="signup-form">
        <h2>Signup</h2>
        <form method="post" action="/signup">
            <div class="form-floating mb-3">
                <input type="text" class="form-control" name="username">
                <label for="username">Username</label>
            </div>
            <div class="form-floating">
                <input type="password" class="form-control" name="password">
                <label for="password">Password</label>
            </div>

            <button type="submit" class="btn btn-primary" onclick="showLoginForm()">Signup</button>
        </form>
        <div class="instead-button">
            <button class="btn btn-primary" onclick="showLoginForm()">Login instead</button>
        </div>
    </div>

这将解决问题。

更多推荐

在登录/注册表单的请求正文中传输数据时遇到问题

本文发布于:2024-05-30 23:27:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1771039.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表单   文中   数据

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!