我在 Firebase 上有这个示例数据库:
样本数据库
我有一个index.html,其中有这两个输入文本:
...
<!-- LOGIN -->
<div class="login-form" id="login">
<h2>Login Form</h2>
<input type="text" name="username" id="username" placeholder="Username">
<input type="password" name="password" id="password" placeholder="Password">
<a class="btn-login" id="btn-login">Login</a>
...
我想选择一个与输入文本具有相同“用户名”的孩子,然后我想验证密码是否匹配。
我已经在index.js 文件中尝试过这些查询:
var firebaseRootRef = firebase.database().ref();
var personale_Ref = firebaseRootRef.child('DatabaseTirocinio/Personale');
$(function() {
$('#btn-login').click(function() {
var id_user = $("#username").val();
var id_password = $("#password").val();
personale_Ref.orderByChild("Username").equalTo(id_user).on("value", function(snapshot) {
console.log(snapshot.val());
var dip = personale_Ref.child(snapshot.key);
dip.equalTo("Password").on("value", function(child) {
console.log(child.val());
});
});
});
});
第一个“console.log(snapshot.val())”显示了我搜索的“用户名”的子项的正确选择:
第一个控制台日志
但第二个“console.log(child.val())”返回“null”。
谁能帮我?
好的,我找到了一个解决方案(感谢 Himanshu),也许不是最好的解决方案,所以如果有人有任何改进建议,请留下回复:
var firebaseRootRef = firebase.database().ref();
var personale_Ref = firebaseRootRef.child('DatabaseTirocinio/Personale');
$(function() {
$('#btn-login').click(function() {
var id_user = $("#username").val();
var id_password = $("#password").val();
personale_Ref.orderByChild("Username").equalTo(id_user).on("value", function(snapshot) {
var dipendente = snapshot.val();
var dipKey = Object.keys(dipendente);
var k = dipKey[0];
if (dipendente[k].Password == id_password) {
console.log("Ok");
} else
console.log("Wrong password");
});
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)