You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跟随Lama Dev教程开发Web应用,注册登录客户端请求报错求助

问题排查与修复

根因分析

控制台报错Error: data and salt arguments required直接指向核心问题:bcrypt.hash()的第一个参数(待加密的密码)为undefined。结合你提供的请求体来看,请求体里的密码字段拼写错误:你写的是"passowrd",但后端代码中获取的是req.body.password,导致后端无法拿到密码值,最终触发bcrypt的参数缺失报错。

修复步骤

  1. 修正请求体字段拼写
    将请求体中的"passowrd"改为"password",正确请求体如下:

    {
      "username" : "harii",
      "email" : "harii@gmail.com",
      "password" : "1234"
    }
    
  2. 可选:添加参数校验(预防同类问题)
    可以在注册接口开头增加必填参数校验,提前返回明确错误,避免进入后续逻辑触发报错,在auth.js的注册路由中添加:

    if (!req.body.username || !req.body.email || !req.body.password) {
      return res.status(400).json("用户名、邮箱、密码为必填项");
    }
    

额外确认点

检查客户端请求的Content-Type是否为application/json,同时确认你的index.js中已正确配置JSON解析中间件app.use(express.json())(从你的代码来看这部分配置正常)。

内容的提问来源于stack exchange,提问作者krishna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 11:55:46