【问题标题】:Uncaught RangeError: Maximum call stack size exceeded - ajax未捕获的 RangeError:超出最大调用堆栈大小 - ajax
【发布时间】:2017-07-26 18:31:36
【问题描述】:

我收到最大调用堆栈错误,但不知道为什么。它说的是 jquery,我使用的只有 jquery 用于我的 ajax....

jquery.min.js:6 Uncaught RangeError: 超出最大调用堆栈大小

这是我的代码

function processPhase3(){
    client_info.primary_email = _("emailAddress").value;
    client_info.phone = _("cphone").value;
    client_info.primary_text = _("cphone").value;
    client_info.primary_voice = _("cphone").value;
    client_info.hphone = _("cphone").value;
    client_info.agree = _("agree");

    // if check true
    // then check if email or number in the text field
    if(client_info.agree.checked == false){
        _("alertThree").style.display = "block";    
    }else{
        _("alertThree").style.display = "none"; 
    }
    if(client_info.phone.length > 3 || client_info.primary_email.length > 3){
        _("alertFour").style.display = "none";  
        _("phase3").style.display = "none";
        _("phase4").style.display = "block";
        _("progressBar").classList.remove("progress-bar-success");
        _("progressBar").className += ' progress-bar-success';
        _("progressBar").style.width = '100%';
        _("status").innerHTML = "Congratulations!";
          $.ajax({
            type: 'POST',
            data: client_info,
            url: "my_prefs_save.php"
        });
    }else{
        _("alertFour").style.display = "block"; 
    }

}

【问题讨论】:

  • client_info 在哪里实例化?你能告诉我们一个 console.log(client_info) 的样子吗?
  • 您能否查看错误中提供的堆栈跟踪以了解问题的根源?

标签: javascript jquery


【解决方案1】:

谢谢大家,

看起来像添加一些返回语句解决了这个问题;)

function processPhase3(){
    client_info.primary_email = _("emailAddress").value;
    client_info.phone = _("cphone").value;
    client_info.primary_text = _("cphone").value;
    client_info.primary_voice = _("cphone").value;
    client_info.hphone = _("cphone").value;
    client_info.agree = _("agree");

    // if agree check is true - proceed if countOne = 1, false turn on error
    // if pn or email exist - proceed countTwo = 1, else turn on error
    // then check if email or number in the text field
    if(client_info.agree.checked == true){
        _("alertThree").style.display = "none"; 
    }else{
        _("alertThree").style.display = "block";
        return; 
    }
    if(client_info.phone.length > 3 || client_info.primary_email.length > 3){
        _("alertFour").style.display = "none";  
        _("phase3").style.display = "none";
        _("phase4").style.display = "block";
        _("progressBar").classList.remove("progress-bar-success");
        _("progressBar").className += ' progress-bar-success';
        _("progressBar").style.width = '100%';
        _("status").innerHTML = "Congratulations!";
          $.ajax({
            type: 'POST',
            data: client_info,
            url: "my_prefs_save.php"
        });
    }else{
        _("alertFour").style.display = "block";
        return;
    }

【讨论】:

    猜你喜欢
    • 2018-01-24
    • 2014-08-01
    • 2015-10-28
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多