I am trying to send array of object using form in express.js but It is sending array of each properties not the array of object as following.
"group": {
"groupName": "Kai Hess",
"user":{
"name": [
"fynetin",
"rupemys",
"robik"
],
"id": [
"6",
"30",
"18"
]
}
}
But I want like this
"group": {
"groupName": "Kristen Mayo",
"user": [
{
"name": "gufem",
"id": "53",
},
{
"name": "bytybotar",
"id": "68",
},
{
"name": "copamyruk",
"id": "59"
}
]
}
I am using body-parser from express.
app.use(express.urlencoded({ extended: true }));
These are test routes to handle form request.
app.get('/test', function (req, res) {
return res.render('test');
});
app.post('/test', function (req, res) {
return res.json(req.body);
});
Here is my form.
<form action="/test" method="post">
<input type="text" name="[group][groupName]" placeholder="groupName">
<br><br>
<input type="text" name="[group][user][name]" placeholder="name-1">
<input type="number" name="[group][user][id]" placeholder="id-1">
<br><br>
<input type="text" name="[group][user][name]" placeholder="name-2">
<input type="number" name="[group][user][id]" placeholder="id-2">
<br><br>
<input type="text" name="[group][user][name]" placeholder="name-3">
<input type="number" name="[group][user][id]" placeholder="id-3">
<br><br>
<input type="submit" value="submit">
</form>
What I have tried:
I have tried several patterns like:
[group][user][name]
[group][user][][name]
[group][[user][name]]
[group][user][[name]]
Using indexes make it work but I don't want to use them because my form will be dynamic so rows can be added and removed. Like following.
[group][user][1][name]
[group][user][2][name]