繁体   English   中英

使用JavaScript通过HTTP请求提交表单数据,就像ajax表单序列化一样

[英]Using JavaScript to submit form data with HTTP request same like ajax form serialize

在jQuery中,我们有$('form').serialize()在一行中发布所有表单数据。 JavaScript中是否有可用的方法来发布这样的表单数据,或者JavaScript中的代码下方有替代方法?

var url = "path.php"; 
$.ajax({
       type: "POST",
       url: url,
       data: $("#idForm").serialize(), //like this i need in js
       success: function(data)
       {
       }
});

您可以使用FormData,如下所示:

let data = new FormData(document.querySelector('form'));

接着:

let request = new XMLHttpRequest();
request.open("POST", "url");
request.send(data);

更多信息: FormData API

希望对您有帮助

序列化正在创建一个参数字符串,例如field1 = value1&field2 = value2

使用jquery ajax时,数据可以作为对象或数组提供

var x = document.getElementById("myForm");
var formData = [];
var i;
for (i = 0; i < x.length; i++) {
    formData[x.elements[i].name] = x.elements[i].value;
}

$.ajax({
       type: "POST",
       url: url,
       data: formData
       success: function(data)
       {
       }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM