3

我想知道 javascript 中是否有一些东西可以做与 .serialize() 相同的工作。我需要使用它someform.onsubmit = funct...<form onsubmit=".... 我只需要将该表单中的所有数据(就像 jQuery 一样)作为字符串获取。

先感谢您

4

1 回答 1

1

我认为最接近的方法是使用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对象内部的内容。这也是相对较新的,所以跨浏览器不兼容。

于 2013-03-22T23:21:28.107 回答