Почему тело формы возвращает пустое значение по запросу PUT? - PullRequest
0 голосов
/ 21 января 2020

Почему данные формы не сохраняются в req.body?

EJS / HTML

<form onsubmit="EditJob()" class="editForm">
      <div class="form-group-edit">
        <label for="position">Position</label>
        <input type="position" id="position" name="position" class="form-control" placeholder="Enter Position Title"
        />
      </div>
      <div class="form-group-edit">
        <label for="company">Company</label>
        <input type="company" id="company" name="company" class="form-control" placeholder="Enter Company Name"
        />
      </div>

      <button type="submit" class="edit">
        <i class="fas fa-plus"></i>
      </button>
    </form>

Клиент JS

const EditJob = () => {
  const id = ####;
  const url = `http://localhost:5000/dashboard/${id}`;
  axios.put(url).then(res => {
    console.log(res);
  });
};

Сервер JS

router.put("/:id", (req, res) => {
  Job.findByIdAndUpdate(req.params.id, {
    position: req.body.position,
    company: req.body.company,
    status: req.body.status
  })
...
...
});

Обновленный do c в моей базе данных приводит к {position: null, company: null, status: null} ..

1 Ответ

1 голос
/ 21 января 2020

Убедитесь, что вы используете body-parser или , установите express промежуточное ПО , как показано ниже:

app.use(express.json())
app.use(express.urlencoded({ extended: true }))

⚠️ Когда вы используете axios.put(), сделайте уверен, что вы передаете свой data там. Вы можете прочитать документацию здесь

Пример: Axe ios Put

axios.put(endPoint, data, config).then(...).catch(...)

Надеюсь, это может помочь вам.

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