昨天还好好的代码今天IE就报stack overflow at line 7错,在网上找了下说什么金山毒霸开启上网保护导致,关了无用,重置IE设置也无用,郁闷。
动手调试js发现我在8583报文里面加了个提供小票打印的form类,js复制的时候Ext.getCmp('idno').getValue()写成了Ext.getCmp('idno'),赋值的是Component对象,用Ext.util.JSON.encodedoEncode = function(o){ if(!Ext.isDefined(o) || o === null){ return "null"; }else if(Ext.isArray(o)){ return encodeArray(o); }else if(Ext.isDate(o)){ return Ext.util.JSON.encodeDate(o); }else if(Ext.isString(o)){ return encodeString(o); }else if(typeof o == "number"){ //don't use isNumber here, since finite checks happen inside isNumber return isFinite(o) ? String(o) : "null"; }else if(Ext.isBoolean(o)){ return String(o); }else { var a = ["{"], b, i, v; for (i in o) { // don't encode DOM objects if(!o.getElementsByTagName){ if(!useHasOwn || o.hasOwnProperty(i)) { v = o[i]; switch (typeof v) { case "undefined": case "function": case "unknown": break; default: if(b){ a.push(','); } a.push(doEncode(i), ":", v === null ? "null" : doEncode(v)); b = true; } } } } a.push("}"); return a.join(""); } }可能还有别的情况会导致这种错,碰到这个问题,查下可能出现的常见场景,解决不了代码最好调试分析下代码