Ошибка POST для mongoDB из состояния реагирующего компонента - PullRequest
0 голосов
/ 04 мая 2018

Когда я нажимаю кнопку отправки, событие onClick должно отправлять данные, которые устанавливаются в состояниях страницы реакции, в mongodb с помощью Mongoose. Из console.logs и его проверки происходит сбой в контроллере по адресу .create (req.body) и выдается установленный мною статус ошибки 422.

// onClick function 

postBookDB = event => {
    event.preventDefault();
    if (this.state.title) {
      API.donateBook({
        isbn: this.state.isbn,
        title: this.state.title,
        subtitle: this.state.subtitle,
        author: this.state.author,
        desc: this.state.desc,
        book_image: this.state.book_image,
        pages: this.state.pages,
        condition: null,
        notes: null,
        user: null
      })
        .catch(err => console.log(err));
    }
  };

// controller
create: function (req, res) {
console.log("in create function");
console.log(req.body);
db.Book
  .create(req.body)
  .then(dbModel => res.json(dbModel))
  .catch(err => res.status(422).json(err));
},

// API.js

donateBook: function (bookData) {
console.log(bookData);
return axios.post("/api/books", bookData);
}

Я получаю эту ошибку в консоли: POST http://localhost:3000/api/books 422 (Unprocessable Entity).

Я занимался разными испытаниями, посмотрел две ТА и мой инструктор, и мы в замешательстве.

Спасибо, что заглянули.

1 Ответ

0 голосов
/ 04 мая 2018

@ hurricane Предлагаемый Я смотрю на вкладку сети в консоли разработчика и проверяю сообщение POST. Я получаю ошибку проверки для субтитров, потому что я установил для нее значение true.

Убедитесь, что вы изменили свою валидацию в своих полях в вашей модели, поэтому, если вы оставите это поле пустым, оно не выдаст эту ошибку и не сможет выполнить POST в БД.

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