мое приложение Vuejs не может отправить http сообщение с помощью axios - PullRequest
0 голосов
/ 24 апреля 2019

в моем приложении Vuejs, я пытаюсь отправить сообщение HTTP на мой сервер, и я получаю эту ошибку в консоли,

TypeError: _api__WEBPACK_IMPORTED_MODULE_0__.default.post is not a function
    at Object.coursePix (services.js?87e7:5)
    at VueComponent._callee$ (testCourse.vue?8c89:98)
    at tryCatch (runtime.js?96cf:45)
    at Generator.invoke [as _invoke] (runtime.js?96cf:271)
    at Generator.prototype.(anonymous function) [as next] (webpack-internal:///./node_modules/regenerator-runtime/runtime.js:97:21)
    at asyncGeneratorStep (asyncToGenerator.js?3b8d:5)
    at _next (asyncToGenerator.js?3b8d:27)
    at eval (asyncToGenerator.js?3b8d:34)
    at new Promise (<anonymous>)
    at new F (_export.js?63b6:36)

в файле api.js, который содержит URL-адрес сервера и заголовоккоторый был установлен с помощью перехватчика axios

здесь - api.js

import axios from 'axios'

export default () => {
    const ajax = axios.create({ 
        baseURL: `http://localhost:8081/`
    })

    ajax.CancelToken = axios.CancelToken
    ajax.isCancel = axios.isCancel

    ajax.interceptors.request.use(
        (config) => {
            let token = localStorage.getItem(AUTH_TOKEN)
            if (token) {
                config.headers['Authorization'] = `Bearer ${ token }`
            }
            return config
        },
        (error) => {
            return Promise.reject(error)
        }
    )
    return ajax
}

- это services.js

import api from '@/api'

export default {
    coursePix (credentials) {
        return api.post('coursePix', credentials)
    }
}

и upload.vue

async AddCourse(){
    const formData = new FormData()
    formData.append('file', formData)
    var obj = {
        send: 'send'
    }
    try{                
        await services.coursePix(obj)
    }
    catch(err){
       console.log(err)
   }
}

Я перепробовал все, что мог, но он не работает, как я могу решить эту проблему или что я делаю не так

1 Ответ

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

Похоже, вы не получили экземпляр ajax:

return api.post('coursePix', credentials)

вместо:

return api().post('coursePix', credentials)
...