在jQuery Ajax函数中将整个表单作为数据传递

20 浏览
0 Comments

在jQuery Ajax函数中将整个表单作为数据传递

我有一个jQuery ajax函数,想要将整个表单作为POST数据提交。我们不断更新表单,因此不断更新应该在请求中发送的表单输入变得繁琐。

admin 更改状态以发布 2023年5月23日
0
0 Comments

如果你想使用POST方法发送表单,那么serialize()并不是一个好主意。例如,如果你想通过ajax传递一个文件,那么这个方法就不会起作用。

假设我们有一个id为"myform"的表单。

更好的解决方案是创建一个FormData并将其发送:

    let myform = document.getElementById("myform");
    let fd = new FormData(myform );
    $.ajax({
        url: "example.php",
        data: fd,
        cache: false,
        processData: false,
        contentType: false,
        type: 'POST',
        success: function (response) {
            // do something with the result
        }
    });

0
0 Comments

有一个函数可以完全做到这一点:

http://api.jquery.com/serialize/

var data = $('form').serialize();
$.post('url', data);

0