我有一个页面在 Firefox 3.5.6 中运行良好,但在 IE 7 或 Opera 10.01 中运行不正常
我包括来自 json.org 的 JSON2.js 的缩小版本在 header 部分的脚本标记中。
在 Firefox 中,数据被解析为一个对象。 Opera 和 IE 都抛出错误,说找不到 JSON 对象。
如何修复我的 javascript,以便 IE 和 Opera 都能找到 JSON 对象?
编辑
脚本标签如下所示:<script type="text.javascript" language="javascript" src="script/json2min.js"></script>
代码是这样的
function readMessageEnd()
{
if(this.readyState == 4)
{
var result = this.responseText;
var messageData = JSON.parse(result);
... do stuff with messageData;
}
}
readMessageEnd()
是异步 AJAX 调用的回调函数。
我在 Opera 中收到的错误消息是:
JavaScript - http://mojohub/ideaweb/messages.php
Unknown thread
Error:
name: ReferenceError
message: Statement on line 188: Undefined variable: JSON
stacktrace: n/a; see opera:config#UserPrefs|Exceptions Have Stacktrace
第 188 行是 var messageData = JSON.parse(result);
在 IE 7 中我遇到错误
Line: 189
Char: 4
Error: 'JSON' is undefined
Code: 0
URL: http://mojohub/ideaweb/messages.php
result
中的数据是
{"from_name":"matt"
,"subject":"testing stuff"
,"body":"Yo. I'm testing how this system works.<br \/>\n<br />\nInit."
,"private_message_id":"2"
,"message_status":"Read"
,"avatar_url":"http:\/\/url_goes_here"
,"status_update":false}
但没有换行符。
最佳答案
与
type="text.javascript"
我的opera和IE8没有显示alert
应该是
type="text/javascript"
关于javascript - IE 7 或 Opera 10.01 无法识别 JSON2.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1969307/