Как удалить данные по id в vue axios

Я не понимаю почему это произошло Я отображаю json в таблице и создаю функцию удаления.

Когда я пытаюсь удалить данные в таблице, почему они не хотят быть удалены? Я использую почтальон с удаленными данными параметров url и id в базе данных

это мой код

  <tbody>
  <tr v-for = "(item, index) in fetch" :key = "item.id_user">
    <td>{{ index + 1 }}</td>
    <td>{{ item.nik }}</td>
    <td>{{ item.nama }}</td>
    <td>{{ item.telp }}</td>
    <td>{{ item.email }}</td>
    <td><button  type = "button" class = "btn btn-outline-warning btn-sm" @click.prevent = "Hapus(item.id_user)"><i class = "fa fa-trash"></i></button></td>
  </tr>
</tbody>

 computed:{
    fetch(){
      return this.$store.state.pegawai
    }
  },
  methods: {
    ...mapActions(["GetPegawai"]),
    Hapus(id) {
      if (confirm("are you sure?")) {
        this.$store
          .dispatch("delUser", id)
          .then((response) => {
            return response;
          })
          .catch((error) => {
            return error
          });
      }
    },
  },

и мой магазин

 mutations: {
    DELETE_USER(state, id) {
      const index = state.pegawai.indexOf(id);
      state.pegawai.splice(index, 1);
    },
  },

actions: {
    async delUser({ commit }, id) {
      return await new Promise((resolve, reject) => {
        axios.post(API + `users/hapus/${id}`)
          .then(response => {
            commit("DELETE_USER", id);
            resolve(response);
          })
          .catch((error) => {
            reject(error);
          });
      });
    },
  }

когда я пытаюсь очистить данные, почему нет параметра для запроса? это как эта картинка

заставляет бэкэнд не принимать параметр id

бэкэнд

 public function hapus_post(){
        $id = $this->post('id_user');
        $this->db->where('id_user', $id);
        $this->db->delete('users');
        $message = array(
                'status'     => true,
                'data'       => 'sukses'
        ); 
        $this->response($message, REST_Controller::HTTP_OK);
    }

Параметр присутствует на вашем скриншоте как 26.

tony19 05.04.2021 05:16

правда, но данные не удаляются, если я использую Postman, данные удаляются успешно

Gusti 05.04.2021 05:18

какие заголовки мне использовать?

Gusti 05.04.2021 05:19

Это похоже на проблему с серверной частью или с тем, как ваш интерфейс отправляет данные, что отличается от вашего запроса Postman. Как серверная часть ожидает получить идентификатор?

tony19 05.04.2021 05:19

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

Gusti 05.04.2021 05:28
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
0
5
22
1

Ответы 1

В настоящее время ваш запрос отправляет идентификатор пользователя в URL-адресе, но серверная часть ожидает его в виде поля данных с именем id_user.

Обновите свой запрос, чтобы отправить идентификатор в виде данных:

axios.post(API + `users/hapus`, {
  data: {
    id_user: id
  }
})

Запрос на кросс-источник заблокирован: та же политика происхождения запрещает чтение удаленного ресурса ...

Gusti 05.04.2021 05:47

Добавление данных в запрос не приведет к ошибке CORS, поэтому проблема в другом. Можно ссылку на репродукцию?

tony19 05.04.2021 05:49

Другие вопросы по теме