javascript 如何使用Fetch API从表单中检索和发送数据?

2wnc66cl  于 2022-12-17  发布在  Java
关注(0)|答案(2)|浏览(265)

我有html格式:

<form action="file.php" method="post">
    <input name="formName" type="text" />
    <input name="formEmail" type="email" />
    <input name="formSubmit" type="submit" value="Submit Me!" />
</form>

那么如何使用获取API来获取这些值,并使用 AJAX 将它们发送到file.php文件?

ttvkxqim

ttvkxqim1#

使用Fetch API

function submitForm(e, form){
    e.preventDefault();
    
    fetch('file.php', {
      method: 'post',
      body: JSON.stringify({name: form.formName.value, email: form.formEmail.value})
    }).then(function(response) {
      return response.json();
    }).then(function(data) {
      //Success code goes here
      alert('form submited')
    }).catch(function(err) {
      //Failure
      alert('Error')
    });
}
<form action="file.php" method="post" onsubmit="submitForm(event, this)">
    <input name="formName" type="text" />
    <input name="formEmail" type="email" />
    <input name="formSubmit" type="submit" value="Submit Me!" />
</form>
von4xj4u

von4xj4u2#

我建议使用FormData,它使用的格式与表单在编码类型设置为“multipart/form-data”时使用的格式相同。

const submitForm = () => {
        const formEl = document.getElementById('formId');
        const payload = new FormData(formEl);

        fetch('file.php', {
            method: 'POST',
            body: payload,
        })
        .then(Result => Result.json())
        .then(data => {
            console.log(data);
            // your code comes here
        })
        .catch(errorMsg => {
            console.log(errorMsg);
        });

    };

相关问题