保存嵌套表单参数的解决方法可以通过以下步骤实现:
function getFormData(form) {
var formData = {};
var elements = form.elements;
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
var name = element.name;
var value = element.value;
if (name) {
if (element.type === 'checkbox') {
value = element.checked;
}
var parts = name.split('.');
var nestedObj = formData;
for (var j = 0; j < parts.length; j++) {
var part = parts[j];
if (!nestedObj[part]) {
nestedObj[part] = {};
}
if (j === parts.length - 1) {
nestedObj[part] = value;
}
nestedObj = nestedObj[part];
}
}
}
return formData;
}
var form = document.getElementById('myForm');
var data = getFormData(form);
console.log(data);
const express = require('express');
const app = express();
app.use(express.urlencoded({ extended: true }));
app.post('/submit', (req, res) => {
const formData = req.body;
console.log(formData);
// 处理表单参数
// ...
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
以上示例中,前端使用JavaScript将表单数据转换为嵌套对象,并通过AJAX请求将其发送给后端服务器。后端服务器使用Express框架接收表单参数,并进行相应的处理。