Почему req.body получает атрибут name только из запроса POST на узле js? - PullRequest
0 голосов
/ 12 сентября 2018

это мой первый вопрос, поэтому прошу прощения, если это глупый вопрос.

Я начинаю изучать веб-разработку с использованием javascript и узла, и моему проекту приложения необходимо отправить данные со страницы ejs и сохранить их в базе данных. Я использую req.body, но я не понимаю, как работает этот метод.

<form action="/exames" method="POST">
     <div class="form-group">
            <div class="custom-control custom-checkbox">
                <input type="checkbox" class="custom-control-input" id="customCheck[1]" name="exames[Hematologia]">
                <label class="custom-control-label" for="customCheck[1]">Hematologia</label>
            </div>
            <div class="custom-control custom-checkbox">
                <input type="checkbox" class="custom-control-input" id="customCheck[2]" name="exames[VHS]">
                <label class="custom-control-label" for="customCheck[2]">VHS</label>
            </div>
            <div class="custom-control custom-checkbox">
                <input type="checkbox" class="custom-control-input" id="customCheck[3]" name="exames[Coagulograma]">
                <label class="custom-control-label" for="customCheck[3]">Coagulograma</label>
            </div>
     </div>
</form>

А у меня на сервере есть код:

var app = require("express")()
const bodyParser = require("body-parser");

app.use(bodyParser.urlencoded({extended: true}));

app.post("/", function(req,res) {
    console.log(req.body);
}  

А в консоли отображается объект {exames: {Hematologia, VHS, Coagulograma}}, когда установлены все три флажка.

Как передать больше данных, кроме имени атрибута?

1 Ответ

0 голосов
/ 12 сентября 2018

req.body сохраняет параметры запроса POST, отправленные клиентом. Вот ссылка на API .

req.body.exames.hematologia
// => Hematologia
req.body.exames.vhs
// => VHS

Чтобы передать больше данных, вам нужно будет добавить больше элементов в форму. И предоставьте нам больше информации о том, какие данные вы собираетесь отправлять.

...