Axios отправляет ПОЗИЦИЮ вместо ID на контроллер при удалении - PullRequest
0 голосов
/ 28 сентября 2018

Я новичок в vue js, мне показалось, что в некоторых местах это немного смущает, но вот последняя путаница, с которой я столкнулся.

Например, я хочу удалить строку с идентификатором 3, но еепозиция в списке равна 0, при ударе она возвращает ошибку в консоли:

DELETE http://simvuecore/api/contoh/0 404 (Not Found)

, что означает, что axios отправляет position, в то время как контроллер ожидает id, хотя id фактически не указанотам.

для справки, вот мои коды:

API routes:

Route::delete('/contoh/{contoh}', 'contohController@destroy');

contohController:

public function destroy(contoh $contoh)
{
    $contoh->delete();
    return response('terhapus', 200);
}

store.js:

state: {
    contoh: []

},
mutations: {
        deleteContoh(state, id) {
            const index = state.contoh.findIndex(item => item.id == id)
            state.contoh.splice(index, 1)
        }
},
actions: {
    deleteContoh(context, id) {
        axios.delete('api/contoh/' + id)
            .then(response => {
                context.commit('deleteContoh', id)
            })
    },
}

contohItem.vue:

methods: {
        removeContoh(id) {
            this.$store.dispatch('deleteContoh', id)

        },

все операции CRUD работают правильно при использовании POSTMAN и при запросе от vue, delete является единственным, который нене работает из-за этой position и id проблемы.

ВОПРОС: как настроить axios отправлять id вместо position на контроллер?

ОБНОВЛЕНИЕ: Проблемарешается следующим ответом @andrey popov.У меня было это в contohItem.vue:

    <span @click="removeContoh(index)" class="remove-contoh">X</span>

, и оно работает после того, как я изменил это на:

    <span @click="removeContoh(id)" class="remove-contoh">X</span>

1 Ответ

0 голосов
/ 28 сентября 2018

Из вашего кода я вижу, что вы передаете id по всем функциям, и действие deleteContoh фактически отправляет это на сервер.Это означает, что проблема в том, как вы называете removeContoh, - вы передаете не id, а index, и поэтому вам следует это изменить.

Удачи!

...