对于 salt 和散列密码,我使用了 Bcrypt 方法,但它显示,error = new Error('data and salt arguments required');
for salt and hashing passwords i used Bcrypt method but its showing , error = new Error('data and salt arguments required');
对于 salt 和散列密码,我使用了 Bcrypt 方法,但它显示,
错误=新错误('data and salt arguments required');
我认为我的代码有问题,我需要帮助;
电子商务网站是我的项目,所以我在用户面板中创建了注册表单
*user.js
const userHelpers=require('../helpers/user-helpers')
router.get('/signup',(req,res)=>{
res.render('user/signup')
})
router.post('/signup',(req,res)=>{
userHelpers.doSignup(req.body).then((response)=>{
console.log(response);
})
用户-helpers.js
var db=require('../config/connection')
var collection=require('../config/collections')
const bcrypt=require('bcrypt')
module.exports={
doSignup:(userData)=>{
return new Promise(async(resolve,reject)=>{
// var salt = await bcrypt.genSalt(10);
userData.Password= await bcrypt.hash(userData.Password ,10)
db.get().collection(collection.USER_COLLECTION).insertOne(userData).then((data)=>{
resolve(data)
});
});
}
collection.js
module.exports={
PRODUCT_COLLECTION:'product',
USER_COLLECTION:'user'
}
这是我的代码,但是错误提示
error = new Error('data and salt arguments required');
^
Error: data and salt arguments required
如何解决问题..
根据您得到的错误,函数 bcrypt.hash
似乎失败了,因为 userData.Password
可能未设置。
确保在请求中正确获得 userData.Password。
如果您使用 express,您可能无法转换为 JSON,因此添加一个中间件来将数据解析为 JSON,例如:
const express = require('express');
const app = express();
app.use(express.json());
app.post('/', function(request, response){
console.log(request.body); // your JSON
response.send(request.body); // echo the result back
});
app.listen(3000);
看看这些以前的问题和答案:
- How do I consume the JSON POST data in an Express application
谢谢,我找到了解决方案。问题在user-helpers.js
.
user-helpers.js
const bcrypt = require('bcrypt')
module.exports={
doSignup:(userData)=>{
return new Promise (async(resolve,reject)=>{
userData.password=await bcrypt.hash(userData.password,10)
db.get().collection(collection.USER_COLLECTION).insertOne(userData).then((data)=>{
resolve(data)
// console.log(userData.password)
// console.log(userData.email)
});
});
}
```
对于 salt 和散列密码,我使用了 Bcrypt 方法,但它显示, 错误=新错误('data and salt arguments required'); 我认为我的代码有问题,我需要帮助; 电子商务网站是我的项目,所以我在用户面板中创建了注册表单
*user.js
const userHelpers=require('../helpers/user-helpers')
router.get('/signup',(req,res)=>{
res.render('user/signup')
})
router.post('/signup',(req,res)=>{
userHelpers.doSignup(req.body).then((response)=>{
console.log(response);
})
用户-helpers.js
var db=require('../config/connection')
var collection=require('../config/collections')
const bcrypt=require('bcrypt')
module.exports={
doSignup:(userData)=>{
return new Promise(async(resolve,reject)=>{
// var salt = await bcrypt.genSalt(10);
userData.Password= await bcrypt.hash(userData.Password ,10)
db.get().collection(collection.USER_COLLECTION).insertOne(userData).then((data)=>{
resolve(data)
});
});
}
collection.js
module.exports={
PRODUCT_COLLECTION:'product',
USER_COLLECTION:'user'
}
这是我的代码,但是错误提示
error = new Error('data and salt arguments required');
^
Error: data and salt arguments required
如何解决问题..
根据您得到的错误,函数 bcrypt.hash
似乎失败了,因为 userData.Password
可能未设置。
确保在请求中正确获得 userData.Password。
如果您使用 express,您可能无法转换为 JSON,因此添加一个中间件来将数据解析为 JSON,例如:
const express = require('express');
const app = express();
app.use(express.json());
app.post('/', function(request, response){
console.log(request.body); // your JSON
response.send(request.body); // echo the result back
});
app.listen(3000);
看看这些以前的问题和答案:
- How do I consume the JSON POST data in an Express application
谢谢,我找到了解决方案。问题在user-helpers.js
.
user-helpers.js
const bcrypt = require('bcrypt')
module.exports={
doSignup:(userData)=>{
return new Promise (async(resolve,reject)=>{
userData.password=await bcrypt.hash(userData.password,10)
db.get().collection(collection.USER_COLLECTION).insertOne(userData).then((data)=>{
resolve(data)
// console.log(userData.password)
// console.log(userData.email)
});
});
}
```