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

问题描述 投票:0回答:3

我有一个 jQuery ajax 函数,想提交整个表单作为发布数据。我们不断更新表单,因此不断更新应在请求中发送的表单输入变得很乏味。

jquery ajax
3个回答
314
投票

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

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

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

86
投票

如果您想使用 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
        }
    });

27
投票

一般在表单元素上使用

serialize()

请注意,多个

© www.soinside.com 2019 - 2024. All rights reserved.