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



在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);

详细信息:表单数据 API

希望对您有所帮助

序列化正在创建一个参数字符串,例如 字段 1=值 1&字段 2=值 2

使用 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)
{
}
});

最新更新