IE 10 Windows 8での互換性)を使用しています。デバッグモード(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ブラウザで正常に実行されることです。入力はありますか?
IE8以降 のみJSON
オブジェクト standardsモード 。したがって、ドキュメントにDoctypeがあることを確認する必要があります。
私のイントラネットサイトでこの例外が発生したのは、IE 1互換性のイントラネット設定であることがわかりました。
"互換表示でイントラネットサイトを表示する"
このフラグを変更するには、または単に無効にするには、IE 10、次に「コマンドバー」を表示します。 「ツール」>「互換表示設定」を選択し、チェックを外しますオプション-下から2番目。問題をすぐに修正しました。
Json2.jsを含める必要があります
json2包含 を参照してください
詳細については。クライアントがIE7標準を使用する場合に対処しなければならない場合があります。したがって、私たちのコードはそのような場合にも対応する必要がありました。私たちの小売ウェブサイトは、IE7標準を使用する何百ものクライアントからアクセスされています。 json2を含めると、この問題は解決します
IE .NETアプリケーションを使用して実行しようとしたときに、Windows8とASP 10)を実行しているときに同じ「JavaScriptランタイムエラー... JSONが未定義です」が発生しましたVisual Studio 2010開発Webサーバー。ブラウザーを開き、[Alt]をクリックしてメニューを表示し、[ツール]-> [互換性ビューの設定]をクリックし、[すべてのWebサイトを互換性ビューで表示する]をオフにすると、エラーが発生しなくなりました。