Within a function callback()
of a click need to make at least 3 requests.
I separated this into three functions: (func1(), func2() e func3())
and each of them makes a request ajax ($.get)
returning me true
or false
. If the func1()
returns true the func2()
can be called and, if the func2()
returns true the func3()
can be called. If any of the func()
returns me false I can not proceed with the func
following.
How can I do this, because that way it is not returning true or false, it is returning undefined
.
Link to jsfiddle: Code
$('#chamar').bind('click',
function () {
$('#form').validator().on('submit', function (e) {
if (e.isDefaultPrevented()) {
// handle the invalid form...
} else {
if(func1()==false){
//aqui ele ja deveria finalizar e não fazer a proxima requisição
alert("Função 1 falhou");
}
if(func2()==false){
//aqui ele ja deveria finalizar e não fazer a proxima requisição
alert("Função 2 falhou");
}
if(func3()==false){
//aqui ele ja deveria finalizar e não fazer a proxima requisição
alert("Função 3 falhou");
}
alert("Todas as requisições foram feitas");
}
})
});
function func1() {
$.get('consulta1.php?type=dado&action=get', {
id: $('#id').val(),
},function (e) {
e = $.parseJSON(e);
if (e[0].status) {
alert("DEU VERDADEIRO");
return true;
} else {
alert("DEU FALSO");
return false;
}
}).fail(function () {
alert("DEU FALSO");
return false;
});
}
function func2() {
$.get('consulta2.php?type=dado&action=get', {
id: $('#id').val(),
},function (e) {
e = $.parseJSON(e);
if (e[0].status) {
alert("DEU VERDADEIRO");
return true;
} else {
alert("DEU FALSO");
return false;
}
}).fail(function () {
alert("DEU FALSO");
return false;
});
}
function func3() {
$.get('consulta3.php?type=dado&action=get', {
id: $('#id').val(),
},function (e) {
e = $.parseJSON(e);
if (e[0].status) {
alert("DEU VERDADEIRO");
return true;
} else {
alert("DEU FALSO");
return false;
}
}).fail(function () {
alert("DEU FALSO");
return false;
});
}