2012-07-25 4 views
2

J'ai une application web qui doit charger des objets JSON à l'aide de jQuery. J'utilise ce code pour obtenir des objets JSON:Comportement très étrange de IE9 lors du chargement de JSON avec jQuery

$.getJSON(url, function(data) { 
    ... 
} 

Comme d'habitude, il fonctionne sur FF, Chrome, Safari, Opera, mais pas dans Internet Explorer (je ne ai essayé IE9). Ce que j'ai découvert, si j'ouvre les outils de développement F12 dans IE, afficher la console, actualiser la page, cela fonctionne correctement. Et je pense que c'est assez étrange. J'ai demandé à certains collèges de vérifier et ils ont pu reproduire cela. Qu'est-ce qui change lorsque les outils de développement sont ouverts? Pourquoi travaille-t-il alors?


Edit:

Exemple d'un objet JSON que je reçois de mon servlet:

{"product":[],"signaling":[],"vendor":["HP","SUN","IBM"],"capacity":[],"backup"‌​:[],"availability":[]} 

+0

Pouvez-vous recréer ce comportement en utilisant la fonction '$ .ajax()'? –

+1

Pouvez-vous publier le JSON en cours de réception? – davidbuzatto

+2

Comme il ne fonctionne qu'avec les outils de développement, vous pouvez avoir un fichier console.log ou document.console.log quelque part dans votre code. –

Répondre

2

j'ai eu quelques sorties console.log() pour le débogage, et il semble que ce est un bug d'Internet Explorer. À mon avis, un navigateur devrait fonctionner, même si console.log est là. C'est juste ridicule Microsoft!

Après avoir commenté tous console.log(), cela fonctionne.

+0

Pas un bug, juste une façon différente de gérer la console. Vérifiez [cette réponse] (http://stackoverflow.com/a/6036398/352449) et [celui-ci] (http://stackoverflow.com/a/8883761/352449) pour une meilleure méthode de débogage! – Zuul

0

Si vous avez des appels à console.log(), supprimez-les.

J'ai eu le même problème avec IE. Passé des heures sur ceci jusqu'à la suppression finale de tout le code console.log() et cela a fonctionné tout de suite. Le plus frustrant.

+0

Ceci ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire en dessous de son message - vous pouvez toujours commenter vos propres messages, et une fois que vous aurez suffisamment de [réputation] (http://stackoverflow.com/help/whats-reputation) vous pourrez être capable de [commenter sur n'importe quel post] (http://stackoverflow.com/help/privileges/comment). – BradleyDotNET

+0

Je m'en suis rendu compte. Pardon. – BMeraly

+0

Pas de problème, juste un commentaire automatique de la file d'attente VLQ. Tout le monde était un débutant une fois! Un peu de contexte sur la raison pour laquelle console.log causait le problème serait bon. Démarrage d'une réponse avec "J'ai eu le même problème" est à peu près un drapeau "Pas une réponse" garanti. – BradleyDotNET

Questions connexes