js错误--Uncaught RangeError: Maximum call stack size exceeded

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js错误--Uncaught RangeError: Maximum call stack size exceeded相关的知识,希望对你有一定的参考价值。

在开发中的一次调试出现该错误,同时浏览器卡死。

查了下原因,说因为不恰当的代码,导致了递归或是死循环,栈溢出,所以浏览器卡死了。

最后发现,没有给方法传入定义好的变量。

以下代码中operatorType和techtitleType并不是定义的变量:

selectDictName(operatorType,l.operatorType);
selectDictName(techtitleType,l.techtitleType);
selectDictName("schoolingType",l.schoolingType);
selectDictName("certificateType",l.certificateType);
//查询出数据字典名称
function selectDictName(dataKey,value){
    $.ajax({
        type:‘POST‘,
        url: jypath +"/operator/selectDictName", 
        data: {dataKey:dataKey,value:value},
        dataType: ‘json‘,
        async:false,
        success: function(data){
            var name = data.obj;
            $("#acForm input[name$=‘"+dataKey+"‘]").val(name);
        }
    }
    );
}

 

在执行时报错:
技术分享

 

解决方法:

selectDictName("operatorType",l.operatorType);
selectDictName("techtitleType",l.techtitleType);
selectDictName("schoolingType",l.schoolingType);
selectDictName("certificateType",l.certificateType);
selectDictName("levelType",l.levelType);

即可

技术分享

 


以上是关于js错误--Uncaught RangeError: Maximum call stack size exceeded的主要内容,如果未能解决你的问题,请参考以下文章

踩坑 Uncaught RangeError: Maximum call stack size exceeded

Chrome/jQuery Uncaught RangeError:超出最大调用堆栈大小

Uncaught RangeError: Maximum call stack size exceeded 超出最大调用值

Emscripten Uncaught RangeError: Source is too large, multiple Float32Arrays

解决控制台报错:Uncaught RangeError: Maximum call stack size exceeded

解决控制台报错:Uncaught RangeError: Maximum call stack size exceeded