9

Windows 8 で IE 10 互換性を使用しています。デバッグ モード (VS 2012) で WebApp を実行しているときにこのエラーが発生します。0x800a1391 - JavaScript ランタイム エラー: 'JSON' は未定義です 以下のコード

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

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

また、奇妙な事実は、IIS 8 でホストされている同じコードが IE 10 ブラウザーで正常に動作することです。入力はありますか?

4

4 に答える 4

8

IE8 以降では、標準モードのオブジェクトしかありません。そのため、ドキュメントに doctype があることを確認する必要があります。JSON

于 2013-03-12T11:32:00.347 に答える
3

イントラネット サイトでこの例外を発生させていたのは、IE 10互換性のイントラネット設定であることがわかりました。

「イントラネット サイトを互換表示で表示する」

このフラグを変更するか、単純に無効にするには、IE 10 で「コマンド バー」を表示し、[ツール] > [互換表示設定]を選択して、下から 2 番目のオプションのチェックを外します。問題をすぐに修正しました。

ここに画像の説明を入力

于 2013-12-05T11:49:26.183 に答える
0

Visual Studio 2010 開発 Web サーバーを使用して ASP .NET アプリケーションを実行しようとしているときに、Windows 8 および IE 10 を実行しているときに、同じ「JavaScript ランタイム エラー ... JSON が未定義です」が発生しました。ブラウザを開き、「Alt」をクリックしてメニューを表示し、「ツール」->「互換表示設定」をクリックし、「すべての Web サイトを互換表示で表示する」のチェックを外したところ、エラーが発生しなくなりました。

于 2013-08-14T19:31:28.667 に答える