亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 JavaScript 將數據插入數據庫時??在控制臺中創建錯誤“超出最大調用堆棧大小”

使用 JavaScript 將數據插入數據庫時??在控制臺中創建錯誤“超出最大調用堆棧大小”

滄海一幻覺 2023-03-18 15:00:25
我進行了很多搜索以修復我最近幾天遇到的 JavaScript 錯誤。我在StackOverFlow上看到很多問題得到了解答,但不幸的是,沒有人與我的錯誤相符。我想要的是使用JavaScript和PHP將簡單記錄發送到數據庫。但我在Console中收到“ jquery.js:8638 Uncaught RangeError: Maximum call stack size exceeded ”錯誤。 感謝您的答復。我的簡單HTML代碼        <form autocomplete="off">    <div class="form-group col-sm">        <label for="fname">First Name</label>        <input type="text" name="fname" id="fname" class="form-control">    </div>    <div class="form-group col-sm">        <label for="lname">Last Name</label>        <input type="text" name="lname" id="lname" class="form-control">    </div>    <div class="form-group col-sm">        <button class="btn btn-primary" type="submit" id="submitBtn">Submit</button>    </div></form>和javaScript代碼$(document).ready(function(){$("#submitBtn").on("click",function(e){e.preventDefault();var fname = $("#fname").val();var lanme = $("#lname").val();$.ajax({    url : "insertData.php",    type : "POST",    data : {fname:fname, lname:lname},    success : function(data){        if(data == 1){            tableData();        }else{         alert("Can't save record");           }    }});})});
查看完整描述

2 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

您可以在您的按鈕上使用submit功能form而不是在按鈕click上使用功能type="submit"。


此外,您在發送 ajax 請求時輸入了錯誤的變量,lname但您將其作為lanme


現場演示:(代碼測試和工作)


$(document).ready(function() {

  $("#myForm").on("submit", function(e) {

    e.preventDefault();


    //Values

    var fname = $("#fname").val();

    var lname = $("#lname").val();


    //Ajax

    $.ajax({

      url: "insertData.php",

      type: "POST",

      data: {

        fname: fname,

        lname: lname

      },

      success: function(data) {

        if (data == 1) {

          //tableData();

        } else {

          //alert("Can't save record");   

        }

      }

    });

  })

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">

<form id="myForm" autocomplete="off">

  <div class="form-group col-sm">

    <label for="fname">First Name</label>

    <input type="text" name="fname" id="fname" class="form-control">

  </div>

  <div class="form-group col-sm">

    <label for="lname">Last Name</label>

    <input type="text" name="lname" id="lname" class="form-control">

  </div>

  <div class="form-group col-sm">

    <button class="btn btn-primary" type="submit" id="submitBtn">Submit</button>

  </div>

</form>


查看完整回答
反對 回復 2023-03-18
?
烙印99

TA貢獻1829條經驗 獲得超13個贊

考慮這段代碼:

<html>

<head>

<script src="https://code.jquery.com/jquery-3.5.1.js"></script>

<script>

$(document).ready(function()

{

? ? $("#submitBtn").on("click", function(e)

? ? {

? ? ? ? console.log(911, a);

? ? ? ? e.preventDefault();

? ? })

});

</script>

</head>

<body>

<form>

? ? <input type="text" id="a" />

? ? <button type="submit" id="submitBtn">Submit</button>

</form>

</body>

</html>


如您所見,變量a已定義并引用了 id 為“a”的 HTML 元素。誰能解釋為什么?


這就是原始代碼中發生的情況——數據 JSON 中的 lname 字段被設置為 HTML 元素的引用,jquery 處理不當,這意味著它會導致無限遞歸。


查看完整回答
反對 回復 2023-03-18
  • 2 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號