在jQuery Ajax函数中将整个表单作为数据传递
在jQuery Ajax函数中将整个表单作为数据传递
我有一个jQuery ajax函数,想要将整个表单作为POST数据提交。我们不断更新表单,因此不断更新应该在请求中发送的表单输入变得繁琐。
admin 更改状态以发布 2023年5月23日
如果你想使用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 } });
有一个函数可以完全做到这一点:
http://api.jquery.com/serialize/
var data = $('form').serialize(); $.post('url', data);