我想知道 javascript 中是否有一些东西可以做与 .serialize() 相同的工作。我需要使用它someform.onsubmit = funct...
或<form onsubmit="...
. 我只需要将该表单中的所有数据(就像 jQuery 一样)作为字符串获取。
先感谢您
我想知道 javascript 中是否有一些东西可以做与 .serialize() 相同的工作。我需要使用它someform.onsubmit = funct...
或<form onsubmit="...
. 我只需要将该表单中的所有数据(就像 jQuery 一样)作为字符串获取。
先感谢您
我认为最接近的方法是使用FormData
. 就像是:
document.querySelector('form').addEventListener('submit', function (e) {
e.preventDefault();
xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText);
}
}
xhr.open("POST", "/echo/json");
xhr.send(new FormData(this));
});
这可以说比调用.serialize
表单集合更简单,但请注意,您显然无法检查FormData
对象内部的内容。这也是相对较新的,所以跨浏览器不兼容。