Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE10没有';不能正确解析JSON_Javascript_Json_Internet Explorer - Fatal编程技术网

Javascript IE10没有';不能正确解析JSON

Javascript IE10没有';不能正确解析JSON,javascript,json,internet-explorer,Javascript,Json,Internet Explorer,我已经使用JSFIDLE将问题简化为基本问题: 这将正确解析Firefox和Chrome中的简单JSON字符串,但在IE8、IE9和IE10中返回一个空对象(不管使用的JSON字符串如何)。我还没有尝试IE11 无论我是否加载Crockford的JSON2.js库,都会发生这种情况。简短回答:不使用变量名“event”而不使用var:-)简短回答:不使用变量名“event”,而不使用var:-)简短回答:不使用变量名“event”不使用var:-)在本地声明变量名。简短回答:在Internet

我已经使用JSFIDLE将问题简化为基本问题:

这将正确解析Firefox和Chrome中的简单JSON字符串,但在IE8、IE9和IE10中返回一个空对象(不管使用的JSON字符串如何)。我还没有尝试IE11


无论我是否加载Crockford的JSON2.js库,都会发生这种情况。

简短回答:不使用变量名“event”而不使用var:-)简短回答:不使用变量名“event”,而不使用var:-)简短回答:不使用变量名“event”不使用var:-)在本地声明变量名。

简短回答:在Internet Explorer
窗口中,如果不使用var:-)在本地声明变量名,请不要使用变量名“event”。

表示事件的状态,例如 事件发生时,键盘键的状态、 鼠标,以及鼠标按钮的状态

无法将其分配给

没有
var
,代码
event=JSON.parse(“{”var:“value”}”)尝试分配给
窗口。事件
,这是不允许的

更改为对var使用不同的变量名或前缀event,以便代码读取:
var event=JSON.parse(“{”var:“value”}”)


在Internet Explorer的
窗口中。事件

表示事件的状态,例如 事件发生时,键盘键的状态、 鼠标,以及鼠标按钮的状态

无法将其分配给

没有
var
,代码
event=JSON.parse(“{”var:“value”}”)尝试分配给
窗口。事件
,这是不允许的

更改为对var使用不同的变量名或前缀event,以便代码读取:
var event=JSON.parse(“{”var:“value”}”)


在Internet Explorer的
窗口中。事件

表示事件的状态,例如 事件发生时,键盘键的状态、 鼠标,以及鼠标按钮的状态

无法将其分配给

没有
var
,代码
event=JSON.parse(“{”var:“value”}”)尝试分配给
窗口。事件
,这是不允许的

更改为对var使用不同的变量名或前缀event,以便代码读取:
var event=JSON.parse(“{”var:“value”}”)


在Internet Explorer的
窗口中。事件

表示事件的状态,例如 事件发生时,键盘键的状态、 鼠标,以及鼠标按钮的状态

无法将其分配给

没有
var
,代码
event=JSON.parse(“{”var:“value”}”)尝试分配给
窗口。事件
,这是不允许的

更改为对var使用不同的变量名或前缀event,以便代码读取:
var event=JSON.parse(“{”var:“value”}”)



如果将变量设置为局部变量,即使用
var事件…
会发生什么?另外,哪个表达式确切地生成空对象?你是说
alert(event.var)
打印一个空对象吗?这不太可能。它在IE9和IE10的开发工具控制台中工作,但你是对的,当页面加载到小提琴上时,它显示为未定义。在开发工具控制台中,它只为我显示{}!刚刚用IE11测试了一下,得到了同样的结果。真奇怪。。。我甚至把代码复制到一个本地脚本中,效果很好。@Nicolas:你是说
console.log(JSON.stringify(event))显示空对象?那不是解析,而是将对象转换为JSON(字符串化)!请澄清您的问题。如果将变量设置为局部变量,即使用
var事件…
,会发生什么情况?另外,哪个表达式确切地生成空对象?你是说
alert(event.var)
打印一个空对象吗?这不太可能。它在IE9和IE10的开发工具控制台中工作,但你是对的,当页面加载到小提琴上时,它显示为未定义。在开发工具控制台中,它只为我显示{}!刚刚用IE11测试了一下,得到了同样的结果。真奇怪。。。我甚至把代码复制到一个本地脚本中,效果很好。@Nicolas:你是说
console.log(JSON.stringify(event))显示空对象?那不是解析,而是将对象转换为JSON(字符串化)!请澄清您的问题。如果将变量设置为局部变量,即使用
var事件…
,会发生什么情况?另外,哪个表达式确切地生成空对象?你是说
alert(event.var)
打印一个空对象吗?这不太可能。它在IE9和IE10的开发工具控制台中工作,但你是对的,当页面加载到小提琴上时,它显示为未定义。在开发工具控制台中,它只为我显示{}!刚刚用IE11测试了一下,得到了同样的结果。真奇怪。。。我甚至把代码复制到一个本地脚本中,效果很好。@Nicolas:你是说
console.log(JSON.stringify(event))显示空对象?那不是解析,而是将对象转换为JSON(字符串化)!请澄清您的问题。如果将变量设置为局部变量,即使用
var事件…
,会发生什么情况?另外,哪个表达式确切地生成空对象?你是说
alert(event.var)
打印一个空对象吗?这不太可能。它在IE9和IE10的开发工具控制台中工作,但你是对的,当页面加载到小提琴上时,它显示为未定义。在开发工具控制台中,它只为我显示{}!刚刚用IE11测试了一下,得到了同样的结果。真奇怪。。。我甚至把代码复制到一个本地脚本中,效果很好。@Nicolas:你是说
console.log(JSON.stri)吗