2013-03-12 9 views
9

Używam zgodności IE 10 w systemie Windows 8, Otrzymuję ten błąd podczas uruchamiania funkcji WebApp w trybie debugowania (VS 2012). 0x800a1391 - Runtime error JavaScript: 'JSON' jest niezdefiniowana kod poniżej0x800a1391 - Błąd środowiska wykonawczego JavaScript: "JSON" jest niezdefiniowany w IE 10

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

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

Również dziwny fakt jest taki sam kod obsługiwana w IIS 8 działa dobrze w IE 10 Browser. Dowolne wejścia?

+0

To nie jest odpowiedź na pytanie, ale chcę tylko dodać, że gdy masz do czynienia z IE nie powinno zależeć go przekonwertować obiekt do JSON lub JSON do obiektu. Proponuję użyć kilku innych bibliotek JS do wykonywania takich funkcji, jak [json2.js] (https://github.com/douglascrockford/JSON-js). –

+2

Posiadałem znacznik w moim znaczniku, ale nadal otrzymywałem błąd, dopóki nie usunąłem widoku zgodności w menu narzędzi IE 10. – MDA

+0

Tak, uważam, że jest to oczekiwane zachowanie, ponieważ JSON będzie działać tylko w trybie standardowym zgodnie z odpowiedziami. –

Odpowiedz

7

Obiekt IE8 i wyższy only have obiekt JSON w standards mode. Musisz więc upewnić się, że dokument ma typ dokumentu.

+1

Dzięki, to wygląda na odpowiedź ... Kiedy sprawdzam, czy IE 10 ma to, a zgodność z IE 10 go nie ma. IE 10 ma podczas gdy IE 10 ma jako ... nie wiem dlaczego został skomentowany ... –

+0

@RameezAhmedSayad: IE10 zdecydowanie ma 'JSON' . Ponownie, jest dostępny tylko w trybie standardowym. –

+0

Tak, masz rację Crowder –

0

Miałem ten sam "błąd środowiska wykonawczego JavaScript ... JSON jest niezdefiniowany" z systemem Windows 8 i IE 10 podczas próby uruchomienia aplikacji ASP .NET przy użyciu serwera programowania Visual Studio 2010. Kiedy otworzyłem przeglądarkę, kliknąłem "Alt", aby wyświetlić menu, następnie kliknąłem Narzędzia-> Widok zgodności ustawień i odznaczone "Wyświetlaj wszystkie witryny w widoku zgodności", przestałem otrzymywać błąd.

1

Trzeba to json2.js

zobaczyć json2 inclusion

więcej szczegółów. Są przypadki, w których mamy do czynienia z przypadkami, w których klienci stosują standardy IE7. Tak więc nasz kod musiał również uwzględniać takie przypadki. Nasz serwis detaliczny jest dostępny dla setek klientów korzystających ze standardów IE7. W tym json2 rozwiązuje ten problem,

3

I okazało się dla mnie, że był to 10 Ustawienie IE kompatybilności za intranet, który został podnosząc ten wyjątek dla moich witryn intranetowych:

„wyświetla strony intranetu w widoku zgodności”

aby zmienić tę flagę, czy tylko po prostu go wyłączyć, należy wyświetlić „pasek poleceń” w IE 10, a następnie wybierz „Narzędzia”> "Ustawienia widoku zgodności "i odznacz opcję - drugi od dołu. Naprawiono problem natychmiast.

enter image description here

+0

DOCTYPE faktycznie tłumaczy to samo, możesz powiedzieć, że oba są niejawne –

Powiązane problemy