只有在兼容模式下,IE 9 SCRIPT5009: 'JSON' is undefined
中出現以下錯誤。導致此錯誤的行是SCRIPT5009:'JSON'未定義
JSON.stringify(togObj.Answers)
中不會發生,即(非兼容模式)錯誤,Chrome或Firefox。 任何想法這裏發生了什麼?
只有在兼容模式下,IE 9 SCRIPT5009: 'JSON' is undefined
中出現以下錯誤。導致此錯誤的行是SCRIPT5009:'JSON'未定義
JSON.stringify(togObj.Answers)
中不會發生,即(非兼容模式)錯誤,Chrome或Firefox。 任何想法這裏發生了什麼?
在這裏看到一篇博客文章中解釋了情況:Resolve JSON is Undefined Error in Internet Explorer
在你的頁面包含的JSON library,你應該是好去。
是的,JSON是在現代瀏覽器中本地定義的,但不在IE中定義。你需要導入一個庫。例如,http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js
JSON是not available in compatibility mode IE:怪癖,因特網瀏覽器6級的標準,Internet Explorer 7的標準:
在以下文檔模式不支持。
由於您不應該使用(或更糟的是,上reyling)首先兼容模式,則應該通過添加有效的文檔類型切換IE到標準模式。
如果您在頁面上使用jQuery庫,則可以使用$.parseJSON
。
不起作用,因爲jQuery使用JSON。解析 –
@FilipCornelissen:http://api.jquery.com/jQuery.parseJSON/它需要1.4.1的jQuery版本。另外,驗證你的json是否正確。嘗試將一個演示json字符串傳遞給此函數並進行驗證。來自同一頁面的 – iMatoria
:「在瀏覽器提供JSON.parse的本地實現的地方,jQuery使用它來解析字符串。」和(簡化)來自http://code.jquery.com/jquery-latest.js:'parseJSON:function(data){return window.JSON.parse(data); }」。 結論,在IE8或更低版本中不起作用。 –
只是一個更新(2013!)到上文
每http://www.json.org/js.html,在頁面的底部會向您推薦最新執行的鏈接提供的鏈接:
你需要包括json2.js
瞭解更多詳情。有些情況下我們必須處理客戶使用IE7標準的情況。所以我們的代碼也不得不迎合這種情況。我們的零售網站被數百個使用IE7標準的客戶訪問。包括json2解決了這個問題
我已經完成LOCAL Jquery添加.NEt 2.0代碼測試,它工作正常沒有任何問題。 但是,將代碼遷移到IIS v6服務器後,從相同的IE瀏覽器訪問,然後問題出現「JSON」未定義。 閱讀完此建議後,將文件json2.js下載並添加到源代碼中。
<script type="text/javascript" src="json2.js"></script>
所有工作都很好。
好謝謝。
看來'JSON'對象沒有被定義。查看用於添加JSON支持的http://json.org/js.html。 –
謝謝你,這很容易! –