使用ext-js在IE8中获取运行时错误
Getting runtime error in IE8 using ext-js
我在以下代码中遇到错误,该代码在除IE8之外的所有浏览器中都能完美运行(未与IE9一起检查):
doDecode = function(json){
return eval("(" + json + ")"); //RunTime Error
我收到JavaScript运行时错误,即"语法错误"。
此外,在许多其他行中,我也遇到了不同类型的运行时错误,因为我的应用程序没有按预期运行。(我使用的是extjs3.3.1)请帮我解决这个问题。。。谢谢。
(还想知道ext-js与IE8兼容吗??)
使用eval解析JSON不好的原因有很多。如JSON.org上所述:
eval函数非常快。但是,它可以编译和执行任何JavaScript程序,因此可能存在安全问题。使用eval在来源可信且有能力时指示。太多了使用JSON解析器更安全。在基于XMLHttpRequest的web应用程序中,只允许同一来源的通信页面,因此值得信任。但它可能无法胜任。如果服务器JSON编码不严格,或者如果不严格验证它的所有输入,然后它可以传递无效的JSON文本这可能带有危险的脚本。eval函数将执行脚本,释放其恶意。
因此,您将需要使用JSON解析器——同样,JSON.org提供了一个,以及jQuery和extjs等框架中的解析器——请参阅这个so问题以获取更多信息(包括答案中的示例):使用Ext解析简单的JSON会产生SyntaxError:意外的令牌ILLEGAL
doDecode = function(json){
return eval ("(" + json + ')');
这对我有用…
来源:链接
为什么不使用ExtJS提供的解析器?在ExtJS 3中,您应该能够执行以下操作:
jsonObject = Ext.decode(json);
这是类Ext.util.JSON
中decode
方法的简写方法。该方法还采用另一个布尔参数,以确保在json错误时返回null。
许多可能的错误,我遇到的一个错误是从服务器发送的json结构存在错误,例如"逗号"、"{"、"}"或"["、"]"
有时甚至Ext.decode(json);不起作用。这是因为我们无法识别代码中的某些错误,而像FF这样的智能浏览器不会为此大声疾呼。
在这种情况下,您可以尝试使用Ext.data.JsonStore,直接将JSON字符串与之关联。
你可以在这里找到合适的商店http://docs.sencha.com/ext-js/3-4/#/api/Ext.data.JsonStore
- Microsoft JScript运行时错误:无法获取属性'的值;样式':对象为null或未定义
- 0x800a138f-JavaScript运行时错误:无法获取属性'fn'的未定义引用或null引用
- jquery.validate 中的错误.js“javaScript 运行时错误:无法获取未定义或空引用的属性'
- JavaScript 运行时错误:无法获取未定义或空引用的属性“top”
- 获取0x800a138f - JavaScript 运行时错误:无法获取未定义或空引用的属性“客户端”
- 错误“JavaScript 运行时错误:查找滚动位置时无法获取未定义或空引用的属性'scrollLeft'”
- JavaScript 运行时错误:无法获取未定义或空引用的属性“msie”
- Microsoft JScript 运行时错误:无法获取属性“value”的值:对象为 null 或未定义
- MS JScript运行时错误,在2或3次警报后随机获取
- JavaScript运行时错误无法获取属性'值'的未定义引用或null引用
- Microsoft JScript运行时错误:无法获取属性'的值;innerHTML':对象为null或
- jQuery Mobile Windows应用商店应用程序:JavaScript运行时错误:无法获取属性'ind
- 0x800a138f-Internet Explorer:JavaScript运行时错误:无法获取属性'0
- Kendo TabStrip,获取错误-切换选项卡时应为microsoft jscript运行时错误对象
- 获取js错误:Microsoft JScript运行时错误:对象没有'不支持此属性或方法
- SignalR集线器:JavaScript运行时错误:无法获取属性'multipleFileHub'的未
- 0x800a138f-JavaScript运行时错误:无法获取属性'拆分'的未定义引用或null引用
- 使用ext-js在IE8中获取运行时错误
- Javascript运行时错误:无法获取property 'style'动态创建的文本框的未定义引用或空
- JavaScript运行时错误:无法获取property 'innerHTML'的未定义或空引用