Внутренняя ошибка сервера: / undefined в конце URL для запроса на удаление - PullRequest
1 голос
/ 10 апреля 2019

Получение undefined/ в конце URL и, похоже, не может выяснить причину.
с использованием vuejs, vuex и bootstrap-vue

`HTML:

     <template slot="time" slot-scope="row">
        <b-button @click="deleteTime(row.value.id)">
          Delete
        </b-button>
      </template>

`

метод:`

    deleteTime (id) {
      this.$store.dispatch('deleteTime', id)
    }

`

Action.vue:`

async deleteTime ({ commit, state }, time) {
    commit('SET_LOADING', true)
    const id = state.route.params.pageId
    await api.deleteTime(id, time)
    commit('SET_LOADING', false)
  }

`

api.js:

`

let deleteTime = '/api/apps/:id/content/time/?id=:timeId'

    async deleteTime (id, time) {
        const url = deleteTime.replace(':id', id).replace(':timeId', time)
        return http.delete(url)
      }

`

Я получил это http://127.0.0.0:8000/api/apps/1/content/time/?id=10undefined/ и не уверен, откуда это неопределенное происхождение.

Любая помощь будет оценена.

Обновление:

enter image description here

http.delete модуль: `

import axios from 'axios'

const http = axios.create({
  xsrfCookieName: 'csrftoken',
  xsrfHeaderName: 'X-CSRFToken'
})

export default {
  async delete (url, id) {
    const response = await http.delete(`${url}${id}/`)
    return response
  }
}

`

Спасибо

1 Ответ

1 голос
/ 10 апреля 2019

Вы передаете полный адрес с параметрами запроса на ваш axios delete.Я думаю, вам нужно удалить только аргумент id:

export default {
  async delete (url) {
    const response = await http.delete(`${url}`)
    return response
  }
}

Просто удалите аргумент id, потому что ${id}/ оценивается как undefined/.Вы вообще не передаете параметр id.

Самый простой:

Просто export http

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