Mam funkcję, która zwraca wyniki (lub nie). Problem polega na tym, że nie zwraca żadnej wartości, jaką dostaję w konsoli. Wiadomość jest prawdziwa i rozumiem problem. Ponadto ten błąd nie powoduje, że mój kod przestaje działać, ale chciałbym się dowiedzieć, czy jest jakaś możliwość uniknięcia tego?jquery Nie można odczytać właściwości "done" z undefined - unikaj tego
Funkcja w 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}
});
}
}
i wezwać go używać:
getDelivery().done(function(data){ // the problem is here
if(data == false){
return;
}
});
Więc, czy jest jakiś sposób na uniknięcie błędu? Próbowałem bezskutecznie następujące:
if(items.length > 0){
return $.ajax({
url: 'response.php?type=getDelivery',
type: 'POST',
data: {content: items}
});
}else{
return false;
}
I pojawia się błąd:
Uncaught TypeError: undefined is not a function
Perfect. Przyjmie odpowiedź w ciągu 8 minut. Dzięki. – Linesofcode
'return $ .Deferred(). Resolve (false);' działa również i jest nieco mniej gadatliwy. –