Laravel Маршруты с Vue Маршрутизатор (SPA) не работает как обычно - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь создать приложение Laravel Vue SPA. И кажется, что я не могу заставить маршрут все функционировать должным образом. Каждый раз, когда я использую get ('{any}'), все вызовы моих методов ax ios get возвращают index.blade. php. Но если я определю все маршруты в маршрутах. js с более или менее одинаковой подписью в моей сети. php (Laravel) мой топор ios маршруты при получении данных работает нормально.

Интернет. php

// This work but every time I do an Axios call it returns my index.blade.php
Route::get('{any}', 'SiteController')->where('any', '.*');

// This works if I define all routes, with axios fetching data normally and 
// displaying the data in Vue normally
Route::get('/', 'SiteController');
Route::get('/blog', 'SiteController');
Route::get('/post/{postId?}', 'SiteController');

маршруты. js

const routes = [
    { path: '*', component: Home },
    {
        path: '/',
        component: Home,
        children: [
            {
                name: 'blog',
                path: '/blog',
                component: PageBlogLists,
            },
            {
                name: 'post',
                path: '/post/:page_id',
                component: PageBlog,
            },
        ],
    },
];

 export default new VueRouter({
        base: '/',
        fallback: true,
        mode: 'history',
        routes: routes,
    });

Ответы [ 3 ]

1 голос
/ 13 февраля 2020

Итак, наконец-то все заработало. Я изменил свои маршруты на

 Route::get('/{any}', 'SiteController')->where('any', '^(?!api).*$');

и переместил все свои запросы API на маршрутизатор api. php file

Route::resource('/posts', 'WordpressController');

. js и топор ios теперь отлично работает:)

0 голосов
/ 13 февраля 2020

Итак, во-первых, представление root, я не знаю, как выглядит ваш, но должно быть что-то вроде этого

Route::get('{path}', function () {
    return view('index');
})->where('path', '(.*)');

Во-вторых, вы строите SPA, вам не следует использовать web.php, вы должны использовать api.php

, если вам нужно и действительно хотите использовать web.php, вы можете переместить any вниз и поставить перед всеми остальными маршрутами что-то еще.

0 голосов
/ 13 февраля 2020

У меня нет четкого представления о других кодах, которые у вас есть в руках.

Но для маршрутизатора laravel vue эта справка мне очень помогает

https://medium.com/@weehong / laravel -5-7- vue - vue -router-spa-5e07fd591981

Вы можете попробовать. Надеюсь, это поможет.

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