晚/晚,
我正在制作商店页面。我需要在fetch调用中发送两件事,即项目列表和用户ID。从我的nodejs代码中,我像这样传递我的用户名:
router.get('/testing', async (req, res) => {
if (req.user) {
let query = await User.findOne({ userid: req.user.steamid })
res.render('testing', {
user: req.user,
balance: (query.balance/100),
steamid: req.user.steamid
})
} else {
res.redirect('/')
}
});
我的HTML文件和JS代码分开。在我的HTML中,我通常使用车把调用变量。例如:
<a class="nav-link" >Balance: ${{balance}}</a>
但是我不明白的是,如何在我的JS代码中使用这些参数?在外部文件中。我要先在HTML中设置变量吗?如果是这样,这是否意味着有人可以更改它以说出我的身份证,然后我会失去余额?我需要使用bcrypt来哈希用户ID吗?真的很感谢一些建议! :)
您可以在加载外部脚本之前简单地在模板中将其设置为JavaScript变量,它们将作为全局变量使用:
const userid = {{user.id}};
const balance = {{balance}};
const steamid = '{{steamid}}';
<script src="/js/site.js" type="text/javascript"></script>
<script type="text/javascript">
someFunctionFromSiteJsFile(userid, balance, steamid);
// test displaying userid
console.log('user id', userid);
</script>
关于需要安全性的其他问题,这取决于许多不同的因素,并且没有更多的细节,很难回答您应该对这些变量进行什么操作,或者根本不应该使用此技术。] >