Запрос PUT не передает данные формы HTML как объект - PullRequest
0 голосов
/ 25 апреля 2018

У меня проблемы с передачей объекта на маршрут PUT через форму HTML.Когда я пытаюсь console.log объекта 'product', терминал читает неопределенное.У меня установлен метод Override, и все работает нормально, если я не пытаюсь передать данные как объект.например, name = "title" и name = "price".

app.js

router.put('/events/:id', function(req, res){
   console.log(req.body.product);
   res.redirect('/events/');
});

HTML

<form action="/events/<%= product._id %>?_method=PUT" method="POST">
  <div class="form-group">
    <input class="form-control" type="text" name="product[title]" value="<%= product.title%>">
  </div>                
  <div class="form-group">
    <input class="form-control" type="text" name="product[price]" value="<%= product.price%>">
  </div>
  <div class="form-group">
    <button>Submit</button>
  </div>
</form>  

1 Ответ

0 голосов
/ 25 апреля 2018

Ваша проблема не в правильной настройке body-parser, так как вы можете обратиться к промежуточному программному обеспечению и распечатать что-то оттуда на консоль.Просто чтобы убедиться, что вы настроили что-то вроде этого:

const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json({ type: 'application/json' }));

Тогда ваше приложение должно правильно заполнить входное значение до req.body.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...