9
votes

0x800A1391 - Erreur d'exécution JavaScript: 'JSON' est indéfinie dans IE 10

J'utilise IE 10 Compatibilité sur Windows 8, Je reçois cette erreur lors de l'exécution du mode WebApp en mode de débogage (vs 2012). 0x800A1391 - Erreur d'exécution JavaScript: 'JSON' est indéfinie Code ci-dessous

var data = JSON.stringify(GetUserDetails());

function GetUserDetails() {
    var userData = {};
    userData.userName = $('#txtUserName').val();
    userData.password = $('#txtPassword').val();
    return userData;
}


3 commentaires

Ce n'est pas une réponse à votre question, mais je veux juste ajouter que lorsque vous traitez avec le navigateur IE, vous ne devez pas dépendre de convertir l'objet en JSON ou JSON en objet. Je suggère d'utiliser des autres bibliothèques JS Samll pour faire de telles fonctions telles que JSON2.JS .


J'ai eu la balise dans mon balisage mais a continué à recevoir l'erreur jusqu'à la vue de la compatibilité désélectionnée dans le menu IE 10 Outils.


Oui, je crois que c'est le comportement attendu car JSON ne fonctionnera que dans le mode standard selon les réponses.


4 Réponses :


8
votes

IE8 et UP uniquement le JSON objet dans standards mode . Donc, vous devez vous assurer que le document a un doctype.


2 commentaires

Merci, cela semble être la réponse ... Lorsque je vérifie, c'est-à-dire 10, la compatibilité IE et IE 10 ne l'a pas. IE 10 a comme tandis que c'est-à-dire que 10 compatibilité a comme ... Je ne sais pas pourquoi il a été commenté ...


@Ramezahmedsayad: IE10 a définitivement JSON . Encore une fois, il est seulement disponible en mode normes.



0
votes

J'ai eu la même "erreur d'exécution JavaScript ... JSON est indéfinie" Exécution de Windows 8 et IE 10, tout en essayant d'exécuter une application ASP .NET à l'aide du serveur Web de développement Visual Studio 2010. Lorsque j'ai ouvert le navigateur, cliquez sur "Alt" pour afficher le menu, puis cliqué sur Outils -> Paramètres de la vue de compatibilité et non coché "Afficher tous les sites Web dans la vue de compatibilité", j'ai arrêté d'obtenir l'erreur.


0 commentaires

1
votes

Vous devez inclure JSON2.JS

Voir JSON2 Inclusion

Pour plus de détails. Il y a des cas où nous devons faire face aux cas où les clients utilisent des normes IE7. Notre code a donc dû répondre à de tels cas aussi. La nôtre étant un site Web de détail est accessible par des centaines de clients qui utilisent des normes IE7. Y compris JSON2 résout ce problème


0 commentaires

3
votes

J'ai découvert pour moi que c'était une Ie 10 Intranet de compatibilité qui soumettait cette exception pour mes sites intranet:

"Affiche les sites intranet dans la vue de compatibilité"

Pour changer ce drapeau ou simplement pour le désactiver, affichez la barre de commande "dans IE 10, puis sélectionnez" outils ">" <> "<>" <> "<>" <> "<>" <> "<>" <> "<>" <> "<>" <> "<>" <> " Compatibilité Afficher les paramètres "et décochez l'option - deuxième du bas. Correction du problème immédiatement.

Entrez la description de l'image ici


1 commentaires

Le doctype traduit en fait la même chose, vous pouvez dire que les deux sont implicites