如何在模块中使用变量(登录系统)

埃里克

我正在尝试使用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"
  }

}

问候,埃里克

泰特斯

似乎您想使用来访问对象的属性string,可以为此使用以下语法:

jsonContent[post_username].password

您可能应该在尝试访问其值之前添加一个额外的检查,以查看对象是否包含此属性,例如:

if (Object.hasOwnProperty.call(jsonContent, post_username)) {
  ....
}

另外,在节点应用程序中,您只能导入JSON文件,这是一个示例:

var contents = require('/database/clans.json');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章