jquery Não é possível ler a propriedade 'done' de indefinido - evite isso
Eu tenho uma função que retorna resultados (ou não). O problema é quando não retorna nenhum valor que recebo no console a mensagem
não pode ler a propriedade 'done' de indefinido
O que é verdade e eu entendo o problema. Além disso, esse erro não faz meu código parar de funcionar, mas eu gostaria de saber se há alguma chance de evitar isso?
A função no ajax é:
function getDelivery(){
var items = new Array();
$("#tab-delivery tr").each(function(){
items.push({"id" : $(this).find('.form-control').attr('id'), "id_option" : $(this).find('.form-control').val()});
});
if(items.length > 0){
return $.ajax({
url: 'response.php?type=getDelivery',
type: 'POST',
data: {content: items}
});
}
}
E para chamá-lo, eu uso:
getDelivery().done(function(data){ // the problem is here
if(data == false){
return;
}
});
Então, existe alguma maneira de evitar o erro? Tentei sem sucesso o seguinte:
if(items.length > 0){
return $.ajax({
url: 'response.php?type=getDelivery',
type: 'POST',
data: {content: items}
});
}else{
return false;
}
E eu recebo o erro:
TypeError não capturado: undefined não é uma função