Я пытаюсь отправить форму с полями двумерного массива в post request в node.js. Но он не дает правильный массив на стороне сервера. Я получаю один размерный массив, содержащий все значения.Ошибка узла node.js на двумерном массиве
Здесь форма
<form method="post" action="/add">
<div id="row1">
<input name="type[][serial]" type="text">
<input name="type[][desc]" type="text">
<select name="type[][name]">
<option value="VAL1">VAL1</option>
<option value="VAL2">VAL2</option>
<option value="VAL3">VAL3</option>
</select>
<input name="type[][maker]" type="text">
</div>
<div id="row2">
<input name="type[][serial]" type="text">
<input name="type[][desc]" type="text">
<select name="type[][name]">
<option value="VAL1">VAL1</option>
<option value="VAL2">VAL2</option>
<option value="VAL3">VAL3</option>
</select>
<input name="type[][maker]" type="text">
</div>
<input type="submit" value="Submit">
</form>
Я использую экспресс-4 с bodyparser, определенной в моем приложении.
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
при попытке доступа к значению массива, как этот
var hd = req.body.type;
var serial = hd[0]['serial'];
тогда я получаю значение ошибки не определено.
Как я могу это решить?
На какой версии вы попробуете это? Моя версия узла v0.10.31 и body-parser v1.0.0. и я все еще не могу получить данные. – mabc224
узел v0.10.30 и новый 'npm install express body-parser', поэтому это означает, что на данный момент выражение выражает 4.9.8 и body-parser 1.9.0. – mscdex
В 'body-parser' была проблема, я просто обновил ее, и теперь она дает этот результат. '[{ "Имя": [ "LCD", "MotherBoard"], "серийный": [ "12345D", "12345D"], "убывание": " 77"[ "19 \" "]," производитель ": [" Hp "," DELL "]}]', но я хочу, чтобы этот вид выводился '[{« serial »:« 12345D »,« name »:« LCD »,« desc »:«. 77 », «maker»: «Hp»}, {«serial»: «12345D», «name»: «LCD», «desc»: «. 77», «maker»: «Hp»}] 'как я могу получить это ? – mabc224