如何去掉 node.js 获取MySQL数据产生的RowDataPacket
利用JSON.stringify()把对象转为对象字符串,可去掉RowDataPacket。
router.post('/login', function (req, res) {
let { username, password } = req.body
const sqlStr = `select * from account where username= '${username}' and password='${password}'`
connection.query(sqlStr, (err, data) => {
if (err) {
throw err
} else {
console.log('data', data)
results = JSON.stringify(data);//把results对象转为字符串,去掉 RowDataPacket
console.log('去掉了RowDataPacket',results);
}
})
});
什么场景需要去掉RowDataPacket呢?
我们在使用 jsonwebtoken 生成JWT字符串的时候,我们就需要将RowDataPacket去掉
//导入模块
const jwt=require('jsonwebtoken')
//定义secret密钥。为保证JWT字符串的安全性
const secretKey='itheima';
//调用jsonwebtoken包提供的sign()
const tokenStr=jwt.sign({username:userinfo.username},secretKey,{expiresIn:'30s'});
// 参数1:用户的信息对象,第一个参数是一个对象
// 参数2:加密的秘钥
// 参数3:配置对象,可以配置当前 token 的有效期
res.send({
status:200,
message:'登录成功',
token:tokenStr
})
标签:node,RowDataPacket,const,results,js,username,去掉,data
From: https://www.cnblogs.com/IwishIcould/p/17034281.html