Как использовать Axios Delete в VueJs? - PullRequest
0 голосов
/ 27 июня 2019

Почему моя функция удаления не работает в VueJS? У меня есть таблица, которая отображает данные из NodeJS и отображает VueJS

<tr v-for="result in filteredPeople" :key="result.id">
          <td>{{result.Memb_ID}}</td>
          //other data

          <div class="btn">
            <button class="btn btn-success">Edit Details</button>
            <b-button class="btn btn-danger" @click="deleteData(result.Memb_ID)">Delete</b-button>
          </div>

и мои данные для удаления показаны ниже.

deleteData(result, Memb_ID) {
  axios
    .delete("localhost:9000/api/delete/user/" + result.Memb_ID)
    .then(response => {
      this.result.splice(Memb_ID, 1);
      console.log(this.result);
    });
},

На моей консоли сервера

DELETE / api / delete / user / undefined 404 167 - 0,184 мс

Это мой образ бэкенда image 2

Я никогда не публиковал весь код, но если вы хотите, я опубликую его. Спасибо за помощь!

EDIT Я добавил изображение моего бэкэнда.

РЕДАКТИРОВАТЬ 2 Я обновил образ сервера.

Ответы [ 2 ]

2 голосов
/ 27 июня 2019

Это потому, что вы передаете свой memId через req.params, но в своем бэкэнде вы используете req.query.memId

Вы можете настроить его следующим образом:

  1. обновить ваши аксиосы, чтобы использовать localhost:9000/api/delete/user?Memb_ID=${Memb_ID}
  2. или обновите свой внутренний маршрут до router.delete('/delete/user/:Memb_ID')
1 голос
/ 27 июня 2019

Ваш deleteData параметр функции только один. Не могли бы вы попробовать это.

deleteData(memId) {
  axios
    .delete("localhost:9000/api/delete/user/" + memId)
    .then(response => {
      this.result.splice(memId, 1);
      console.log(this.result);
    });
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...