该问题可以通过使用serializeArray()方法和手动构造表单数据解决,代码示例如下:
HTML表单:
jQuery代码:
var formData = $('#myForm').serializeArray();
// 打印formData可以看到它只包含name和hidden的键值对,不包括不可见的元素 console.log(formData);
// 添加额外的键值对到formData formData.push({ name: 'extra', value: '123' });
// 构造提交数据 var postData = {}; $.each(formData, function(index, obj) { postData[obj.name] = obj.value; });
// 发送Ajax请求 $.ajax({ type: 'POST', url: '/submit-form', data: postData });