ne fonctionnent pas de données.longueur lorsque les données renvoyées par ajax
Que j'essaie d'obtenir certaines données dans json
type avec l'ajax en jQuery, j'ai donc écrit ce code :
$.ajax({
url: link.attr('href'),
type: 'post',
data: 'post=true',
dataType: 'json',
success: function(data){
if (data.length > 0) {
ldLayer.fadeOut('slow');
}else{
alert('no data');
}
}
});
Mais quand le data
est null
la if
sera vrai et ldLayer.fadeOut('slow');
fonctionne !
Mise à JOUR:
Le console.log(data)
résultat est : [null]
Si les données sont
Basé sur votre montage,
J'ai mis à jour ma question, j'ai écrit le
essayez changinging le type de données sur la demande de texte et de la console.la journalisation des données dans le succès de rappel... cela devrait vous donner quelques indices sur l'endroit où les choses sont en train de chuter.
Merci, donc, comment puis-je vérifier dans ce mode ?
null
, il doit échouer sur l'obtention de data.length
. Êtes-vous sûr que les données sont null
? N'est-il pas de chaîne 'null'
? Dans ce cas, il passe correctement et cela a du sens.Basé sur votre montage,
data
est un array avec un seul null
membre, de sorte que son length
propriété est 1. length
ne peut être égal à 0 si le tableau est vide -- ce tableau n'est pas vide, car il est un membre. [null]
est différente de []
.J'ai mis à jour ma question, j'ai écrit le
console.log
résultat. J'ai essayer le data == 'null'
et data == null
trop avant, mais ne fonctionne pasessayez changinging le type de données sur la demande de texte et de la console.la journalisation des données dans le succès de rappel... cela devrait vous donner quelques indices sur l'endroit où les choses sont en train de chuter.
Merci, donc, comment puis-je vérifier dans ce mode ?
OriginalL'auteur MajAfy | 2013-05-28
Vous devez vous connecter pour publier un commentaire.
Vous obtenez un tableau des résultats. Dans le cas que vous décrivez, vous obtenez un tableau avec une seule
null
élément. Un tableau vide ([]
) a une longueur de 0, mais un tableau avec un seul élément de valeur null ([null]
) est de longueur 1.Dans le client, vous pouvez vérifier si l'un des éléments du tableau sont non-
null
:Cependant, une bien meilleure approche serait de fixer votre code côté serveur afin de ne pas renvoyer des tableaux avec
null
éléments. Si vous n'avez pas de contrôle sur le code du serveur, cependant, le côté client de la solution que j'ai fournis ci-dessus sont votre meilleur pari.OriginalL'auteur apsillers
De Vérifier simplement comme ceci
Pouvez-vous nous dire ce qui est à venir dans les données ??
Le
console.log(data)
résultat est :[null]
et quand j'essaie dealert(data)
je vais avoir une fenêtre videPlusieurs raisons peuvent vous pour ce problème.Type de MIME ou de retourner la valeur null dans la réponse etc ..s'il vous Plaît vérifier une fois
OriginalL'auteur Suresh Atta