簡體   English   中英

Web表單提交中的AJAX請求數據字段“未定義”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM