javascript - 如何在模块中使用变量(登录系统)
问题描述
我正在尝试使用 Node.js 制作登录系统,但我不知道如何使用 fs 模块中的变量(第 7 行)。响应是“无法读取未定义的属性‘密码’”
app.post('/auth', function(request, response) {
var contents = fs.readFileSync(__dirname + '/database/clans.json');
var jsonContent = JSON.parse(contents);
var post_password = request.body.password;
var post_username = request.body.username;
var password = jsonContent._post_username_.password; //Issue is here
// if(post_password == ){
// }else{
// }
response.send(password)
// response.send(request.body.username);
});
<div class="login-form">
<h1>Clan Login</h1>
<form action="auth" method="POST">
<input type="text" name="username" placeholder="Username" required>
<input type="password" name="password" placeholder="Password" required>
<input type="submit">
</form>
</div>
json文件:
{
"rtv":{
"username":"rtv",
"password":"rtv2019"
}
}
问候, 埃里克
解决方案
似乎您想使用 a 访问对象的属性string
,您可以使用以下语法:
jsonContent[post_username].password
您可能应该在尝试访问其值之前添加额外的检查以查看对象是否包含此属性,例如:
if (Object.hasOwnProperty.call(jsonContent, post_username)) {
....
}
此外,在节点应用程序中,您可以只导入 JSON 文件,这是一个示例:
var contents = require('/database/clans.json');
推荐阅读
- python - 随机附加到列表列表
- mysql - 如何从 TAGS 列中检索单个标签?
- c - 在 C 中一次读取一个字节的文件效率如何?
- firebase - Firebase 函数从存储中获取文件
- javascript - 函数变量作为对象字段选择器
- mocking - mockito-mocked 服务不返回 true,总是返回 false
- python-imaging-library - 图像的 DPI 信息究竟存储在哪里(Exif 除外)?
- spring-boot - 如何为 Springboot H2 数据源启用 XA?
- reactjs - 来自 stacknavigator 的 tabnavigator 的转换屏幕
- arrays - 从列表列表中获取具有条件递增元素顺序的新列表