10
votes

TypeError: Invalid 'in' Operand OBJ dans JQuery 1.9.1 Version

$.ajax({
    async: false,
    type: "POST",
    url: url+"module/listing/"+projectId,
    data: "ajax=true",
    success: function(response) {
        $.each(response, function(key, val) {
        alert(val.id);
        });
    }
});
This is my code. Ajax success I am getting JSON response. Response is in array format. And I want to alert the response. But getting error "TypeError: invalid 'in' operand obj"  for JQuery 1.9.1 version.

1 commentaires

Sur quel navigateur testez-vous cela?


7 Réponses :


10
votes
success: function(response) {
        response=JSON.parse(response);
        $.each(response, function(key, val) {
        alert(val.id);
        });
    }

4 commentaires

ne fonctionne pas j'ai ajouté une réponse = json.parse (réponse); Mais ne pas avoir bonne réponse.


S'il vous plaît, mentionnez la sortie du script PHP. Vous pouvez voir dans la console dans Firebug.


Cela devrait être marqué comme correct. Cela a également résolu le problème pour moi.


@Nanashidri merci :)



2
votes

J'ai eu le même problème. L'erreur est déclenchée à partir de la fonction JQuery "isarrayike" isarray (Obj) 'de la ligne suivante:

return type === "array" || type !== "function" &&
    ( length === 0 ||
    typeof length === "number" && length > 0 && ( length - 1 ) in obj );


0 commentaires

3
votes

J'ai reçu cette erreur après avoir codé deux fois un tableau JSON. Peut-être que cela aidera quelqu'un.


0 commentaires

0
votes

Même erreur, dans mon cas au lieu de définir local en tant que tableau, je définis cela comme une chaîne. JSON.PARSE C'est l'astuce.


0 commentaires

2
votes

Utiliser DataType: "JSON" Pour faire analyser JQuery la réponse en tant que JSON. Cela résoudra votre problème.


0 commentaires

0
votes

Essayez celui-ci, a travaillé pour moi xxx

pour une raison quelconque (que je ne sais pas), la réponse est considérée comme une chaîne et non un objet pour que vous puissiez "convertir" en utilisant eval () .


0 commentaires

0
votes

Je reçois cette erreur lors de l'envoi d'une gamme de noms de colonnes à JQuery Datables. La matrice doit être une gamme d'objets, pas seulement un tableau de noms. Lien vers des colonnes

mauvais Colonnes: ["colonne1", "colonne2"]

Bien Colonnes: [{titre: "colonne1"}, {titre: "colonne2"}]


0 commentaires