jquery est Impossible de lire la propriété 'fait' undefined - éviter cela
J'ai une fonction qui retourne des résultats (ou pas). Le problème, c'est quand elle ne retourne aucune valeur, j'obtiens dans la console le message
impossible de lire la propriété 'fait' undefined
Ce qui est vrai, et je comprends le problème. En outre, cette erreur ne faites pas mon code d'arrêt de travail, mais je voudrais savoir si il n'y a aucune chance de l'éviter?
La fonction ajax est:
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}
});
}
}
Et de l'appeler j'utilise:
getDelivery().done(function(data){ //the problem is here
if(data == false){
return;
}
});
Donc, est-il un moyen d'éviter l'erreur? J'ai essayé sans succès les suivantes:
if(items.length > 0){
return $.ajax({
url: 'response.php?type=getDelivery',
type: 'POST',
data: {content: items}
});
}else{
return false;
}
Et j'obtiens l'erreur:
Uncaught TypeError: undefined n'est pas une fonction
Vous devez vous connecter pour publier un commentaire.
Vous pouvez simplement retourner un différé, de cette façon, le
done()
de rappel ne génère pas d'erreurs, et vous pouvez choisir de le résoudre ou pasVIOLON
return $.Deferred().resolve(false);
travaille trop et est un peu moins verbeux.