[英]AJAX request data fields “undefined” from web form submission
我正在設置一個網頁,該網頁將用戶表單中的用戶回復存儲在Google表格文檔中。 提交表單后,會進行AJAX請求並進行更改,以填充Google腳本中的字段。 請求中的數據字段在Google表格和卷曲響應中均顯示為未定義。
我知道連接成功,因為“未定義”值填充了Google表格單元格。
js如下所示。
<html> <head> <script src="jquery-3.3.1.min.js"></script> <script> var script_url = "https://script.google.com/macros/s/AKfycbzfVIP99UG7NK9kD94zptKJeEBhP9qWDsuFVfrOAerK6Hg-EUw-/exec"; function insert_value() { var id1 = $("#id").val(); var name = $("#name").val(); var url = script_url + "?callback=ctrlq&name=" + name + "&id=" + id1 + "&action=insert"; var request = jQuery.ajax({ crossDomain: true, url: url, method: "get", dataType: "json" }); } function ctrlq(e) { alert('Congrats! Registered Successfully') } </script> </head> <body> <form autocomplete=off action="javascript:;" id="resetForm" onsubmit="insert_value()"> ID : <input type="text" class="id" name="id"><br> First name: <input type="text" class="name" name="name"><br> <input type="submit" value="Send form data!"> </form> </body> </html>
這是為請求生成的卷曲:
“ https://script.google.com/macros/s/AKfycbzfVIP99UG7NK9kD94zptKJeEBhP9qWDsuFVfrOAerK6Hg-EUw-/exec?callback=ctrlq ^&name = undefined ^&id = undefined ^&action = insert” -H“ Accept:application / ,, , / ; q = 0.01“ -H”來源:null“ -H”用戶代理:Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 73.0.3683.86 Safari / 537.36 “-壓縮
我不確定為什么未定義它們,因為這些值已由js顯式傳遞到url中。
<html> <head> <script src="jquery-3.3.1.min.js"></script> <script> var script_url = "https://script.google.com/macros/s/AKfycbzfVIP99UG7NK9kD94zptKJeEBhP9qWDsuFVfrOAerK6Hg-EUw-/exec"; function insert_value() { var id1 = $("#id").val(); var name = $("#name").val(); var url = script_url + "?callback=ctrlq&name=" + name + "&id=" + id1 + "&action=insert"; var request = jQuery.ajax({ crossDomain: true, url: url, method: "get", dataType: "json" }); } function ctrlq(e) { alert('Congrats! Registered Successfully') } </script> </head> <body> <form autocomplete=off action="javascript:;" id="resetForm" onsubmit="insert_value()"> ID : <input type="text" id="id" name="id"> <br> First name: <input type="text" id="name" name="name"> <br> <input type="submit" value="Send form data!"> </form> </body> </html>
不要給輸入元素提供類名,而要給Id。 id只是每個元素的唯一屬性。 它必須是唯一的。
另外,我將class屬性更改為id。 現在它必須按預期工作。
您好,您不能說我的連接成功,因為我得到了不確定的值>它是假的,因為無論如何您都會得到不確定的值。
您在這里錯過的是在表單更新后發送請求,而不是在初始化時發送請求(這就是您在這里所做的事情)
您必須將函數封裝在一種jquery文檔就緒函數https://learn.jquery.com/using-jquery-core/document-ready/中,或者只是在發送變量之前確保變量是最新的;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.