我的应用程序使用Firebase时遇到问题。不知怎的,我使用的路径效果不佳。
Vacunas数据库无效:
这是我在firebase上的数据库。
我想检查用户引入的号码是否存在于数据库中。不知怎的,这段代码没有用,它没有做rootRefVerification.on('值',......我不明白为什么。
$("#buscar_vacuna").click(
function(){
var numero_buscar = $("#numero_buscar").val();
var rootRefVerificacion = firebase.database().ref('vacunas');
var existencia2;
//busqueda de numero de animal para saber si existe
rootRefVerificacion.on('value', function(snapshot){
existencia2 = snapshot.child(numero_buscar).exists();
})
console.log(existencia2);
if(numero_buscar == ""){
$("#numero_buscar").addClass("is-invalid");
$('#detalles').slideUp(1000);
}else if(existencia2 == false){
alert('Animal ' + numero_buscar + ' no tiene vacunas');
$("#numero_buscar").addClass("is-invalid");
$("#numero_buscar").val('');
$('#detalles').slideUp(1000);
}else{
我认为路径是有道理的,因为当我将路径从'vacunas'
更改为'inventario'
时(请查看下面的图片以查看),它运作良好。
Inventario数据库运作良好:
希望有人可以帮助我。
答案 0 :(得分:0)
rootRefVerificacion.on('value', function(snapshot){
中的回调被异步调用,因此您的代码实际上是在snapshot.child(numero_buscar).exists();
存在之前尝试获取值{/ 1}
只需在回调中移动代码
即可$("#buscar_vacuna").click(
function(){
var numero_buscar = $("#numero_buscar").val();
var rootRefVerificacion = firebase.database().ref('vacunas');
var existencia2 = 0
//busqueda de numero de animal para saber si existe
rootRefVerificacion.on('value', function(snapshot){
existencia2 = snapshot.child(numero_buscar).exists();
console.log(existencia2);
if(numero_buscar == ""){
$("#numero_buscar").addClass("is-invalid");
$('#detalles').slideUp(1000);
}else if(existencia2 == false){
alert('Animal ' + numero_buscar + ' no tiene vacunas');
$("#numero_buscar").addClass("is-invalid");
$("#numero_buscar").val('');
$('#detalles').slideUp(1000);
}else{
});
答案 1 :(得分:-1)
你使用它不正确。您正在使用整数0初始化existencia2
,但在您的代码中,您将使用exists返回一个布尔值。请更改此部分代码。
//busqueda de numero de animal para saber si existe
rootRefVerificacion.on('value').then(snapshot => {
existencia2 = snapshot.child(numero_buscar).exists();
if(numero_buscar == ""){
$("#numero_buscar").addClass("is-invalid");
$('#detalles').slideUp(1000);
}else if(existencia2 == false){
alert('Animal ' + numero_buscar + ' no tiene vacunas');
$("#numero_buscar").addClass("is-invalid");
$("#numero_buscar").val('');
$('#detalles').slideUp(1000);
}
})
检查一下,使用promises
异步处理代码