VUE axios get API не найден - PullRequest
       17

VUE axios get API не найден

0 голосов
/ 28 марта 2019

У меня есть приложение Vue + Django. Я пытаюсь отправить некоторые данные из vue в базу данных, используя метод post Axios. К сожалению консоль показывает ошибку: GET http://localhost:8080/api/get_data/ 404 (Not Found)

И то же самое произошло в консоли Python: Not Found: /get_data/

В моих представлениях определена функция get_data, и я добавил путь к URL: path('get_data/', views.get_data)

Во внешнем интерфейсе это выглядит так:

    addNewData() {
      axios.post("/api/get_data/", this.componentData.data).then(response => {
        console.log("ok");
      });
    }

Я что-то пропустил?

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

если вы не использовали webpack proxyTable сделку с '/ api', вы должны добавить внутренний адрес

0 голосов
/ 28 марта 2019

axios.post("/api/get_data/" - этот URL относится к "текущему".Вот почему он пытается получить доступ http://localhost:8080/..., где 8080 - это порт приложения VUE.Принимая во внимание, что приложение Django по умолчанию работает на 8000 .

Вы должны использовать абсолютные URL для доступа к одному приложению из другого: для доступа к API приложения Django из приложения Vue.

Используйте разные config / env.var в вашем приложении VUE для ссылки на внутренний API в режимах отладки (localhost) и prod (имя домена + http / https), например:

axios.post(conf.BACKEND_URL + "/api/get_data/")

в вашем случае в режиме отладки он должен быть (расширен):

axios.post("http://localhost:8000/api/get_data/")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...