我遇到了最大调用堆栈错误,无法弄清原因。这是说jquery,而我正在使用的jquery仅用于我的ajax...。

jquery.min.js:6未捕获的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";
    }


}

最佳答案

多谢你们,

看起来像添加一些return语句解决了问题;)

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;
    }

关于javascript - 未捕获的RangeError:超出最大调用堆栈大小-Ajax,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42633233/

10-10 00:00