web-dev-qa-db-fra.com

Uncaught TypeError: impossible d'utiliser l'opérateur 'in' pour rechercher 'longueur' dans

Uncaught TypeError: impossible d'utiliser l'opérateur 'in' pour rechercher 'longueur' dans "

Voici l'erreur que je reçois lorsque j'essaie de créer un $.each avec cet objet JSON:

{"type":"Anuncio","textos":["Probando esto","$ 20150515"],"submit":"codParameters?___DDSESSIONID\u003d14EA4721A904D6DD71591156996E29F7%3A%2FMobilTest"}

J'ai aussi essayé de faire la même chose avec stringify, mais je reçois la même erreur:

{\"type\":\"Anuncio\",\"textos\":[\"Probando esto\",\"$ 20150515\"],\"submit\":\"codParameters?___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTest\"}"

Si je supprime les paramètres ___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTest de l'objet, $ .each fonctionne correctement. 

Pourquoi cela pourrait-il arriver?

Merci d'avance.

L'opérateur in ne fonctionne que sur des objets. Vous l'utilisez sur une chaîne. Assurez-vous que votre valeur est un objet avant d'utiliser $.each. Dans ce cas spécifique, vous devez analyser le JSON :

$.each(JSON.parse(myData), ...);
166
Felix Kling

peut-être que vous oubliez d'ajouter le paramètre dataType: 'json' dans votre $ .ajax 

$.ajax({
   type: "POST",
   dataType: "json",
   url: url,
   data: { get_member: id },
   success: function( response ) 
   { 
     //some action here
   },
   error: function( error )
   {
     alert( error );
   }
});
0
Tri W. Herlambang