@xcuube

Как соединить Vue router и Slim?

Приветствую всех! Пишу приложение на vue и slim, сейчас хочу добавить маршрутизацию на клиенте с помощью Vue Router.

Суть проблемы вот в чем: есть уже написанное api на slim, все запросы к нему передаются в этот файл, вот супер короткий его пример

$app = new \Slim\App;

    /* ---------  статистика  --------- */
    $app->group('/stat', function () {

        $this->get('/graphs', function ($request, $response, $args) {    

            return "some data";
        });

        $app->run();
    });


Но когда я посылаю из vue запрос на

methods: {
            fetchData () {
                this.$http.get('http://localhost:8080/api/stat/graphs', {
                }).then(response => {

                    console.log(response.data);
                });
            }
        }


Получаю ошибку 404.

Думаю, что Vue Router пытается найти маршрут по этому адресу, но т.к. его нет, происходит ошибка.

Вопрос, в чем же проблема и как отделить маршрутизацию на клиенте от маршрутизации на сервере?
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
@nvdfxx
Senior Pomidor developer
У вас бэк и фронт на одном порту запускаются? Просто обычно 8080 - порт запуска фронта
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
notiv-nt
@notiv-nt
1. Разные (под-)домены
2. Разные порты
3. "scope" для апи настроить в apache/nginx (/api/*) чтоб слал на php
Ответ написан
serginhold
@serginhold
Судя по коду, Vue router точно ничего не пытается найти. Сейчас ты просто делаешь get http запрос, и правильный адрес по идеи /stat/graphs, без всяких /api в начале.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы