Получение данных API на локальном хосте с помощью VueJS

Итак, это моя функция, очень простая:

mounted: function(){
      this.$http.get('http://localhost:80/gaming/api/game/1').then((data)=>{
        console.log(data.body);
      });
    }

Мое приложение VueJS работает на порту 8080, а мой PHP работает на XAMPP на порту 80.
Когда я пытаюсь получить что-то из своего API, я получаю следующую ошибку:

Uncaught (in promise) Response {url: "http://localhost:80/gaming/api/game/1", ok: false, status: 0, statusText: "", headers: Headers, …}

Что я могу сделать?


person Nir Tzezana    schedule 25.03.2018    source источник
comment
проверьте запросы (сеть) в инструментах разработчика браузера, возможно, у вас проблема с предполетные запросы   -  person Evhz    schedule 25.03.2018
comment
@Evhz Я проверил вкладку сети, и запрос, похоже, появляется там с правильным ответом. Но обещание не выполняется в VueJS.   -  person Nir Tzezana    schedule 25.03.2018


Ответы (2)


добавьте header("Access-Control-Allow-Origin: *");, чтобы разрешить CORS на php. удачи

person TheDude    schedule 26.03.2018
comment
что, если есть только приложение vue? - person Brane; 23.12.2018

Вы включили CORS? Используйте инструменты разработчика, чтобы убедиться, что ваш вызов не сбой из-за CORS. Может помочь установка расширения CORS в Chrome и включение CORS. В качестве альтернативы, если вам нужно запустить приложение только на локальном хосте, добавьте ОПЦИИ в свое приложение PHP.

person Vivek Khurana    schedule 25.03.2018
comment
Я не думаю, что это проблема CORS, так как результат 404, а не что-то еще. - person Nir Tzezana; 26.03.2018
comment
Как ни странно - это была проблема. Пришлось отлаживать с помощью стандартного запроса AJAX с JS, чтобы получить ошибку cross origin в консоли. - person Nir Tzezana; 26.03.2018