Sequelize запрос на удаление с полезной нагрузкой работает с Postman, но не с реализацией Vue Frontend - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь отправить запросы PUT и DELETE с моим экспресс-бэкэндом в базу данных sqlite.Запрос Put работает нормально, но запрос DELETE всегда завершается неудачей.

Я уже проверил заголовки на вкладке сети, кажется, это правильный вариант для обоих (application / json). С почтальоном я могу легко удалить записи, нос моим внешним интерфейсом тело, кажется, не установлено правильно.

       const countryToPush = {title: countryName}
       try{
        await CountryService.post(countryToPush)
        console.log(countryName + ' added!')
       } catch(err)
       {
        console.log(err)
       }
       },
       removeFromDb: async function(countryName){
       const countryToDelete = {title: countryName}
       try{
        await CountryService.delete(countryToDelete)
        console.log(countryName + ' deleted!')
       } catch(err)
       {
        console.log(err)
       }
      }    

Это в моем файле vue, где я получаю 'countryName' из функции нажатия.

    try {
      const country = await Country.create(req.body)
      res.send(country)
    } catch (err) {
      res.status(500).send({
        error: 'an error has occurred trying to create the country'
      })
    }
  },
  async delete (req, res) {
    try {
      const toDelete = await Country.findOne({
        where: {
          title: req.body.title
        }
      })
      await toDelete.destroy()
      res.send(req.body.title + ' was deleted')
    } catch (err) {
      res.status(500).send({
        error: 'an error has occurred trying to delete the country'
      })
    }
  }

В то время как это пример из моих вызовов sqlite

К сожалению, запрос DELETE от моего внешнего интерфейса всегда терпит неудачу и дает мне определенную ошибку 500 an error has occurred trying to delete the country.

Любые идеи, что еще я мог бы попытаться заставить его работать?

1 Ответ

0 голосов
/ 21 июня 2019

Model.delete() не является функцией Sequelize, вы хотите использовать Model.destroy().

await CountryService.destroy(countryToDelete)

Прямо сейчас вы глотаете фактическую ошибку - добавьте console.log(err) к вашему улову, чтобы увидеть, что оно, вероятно, говорит CountryService.destroy is undefined.

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