VueJS SPA-маршрутизация не работает с Laravel - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь построить SPA, и мне нужно сделать топор ios вызовом конечной точки на моих маршрутах. Как заставить этот вызов API работать?

Вот мои маршруты

Route::get('/{any}', function () {
    return view('default');
})->where('any', '.*');

Route::get('events', 'EventsController@index')->prefix('api');

Любое предложение?

Ответы [ 3 ]

0 голосов
/ 30 января 2020

Вы должны go в папку rout-> api и создать свои маршруты api, в вашем файле автоматически появляется префикс api.

. vue

axios.get('/api/getUser')
     .then(data => {
            console.log(data)
      });

in ваша папка маршрутов-> api

Route::get('/getUser', 'Api\UsersController@getUser');

Чтобы не ставить "/ api" перед всеми вашими вызовами ios в вашем. vue 'вы можете поставить

axios.defaults.baseURL = '/api';

в вашем приложении. js

0 голосов
/ 30 января 2020

Мы определяем универсальный маршрут к SpaController, что означает, что любой веб-маршрут будет привязан к нашему SPA. Если мы этого не сделаем, а пользователь отправит запрос / hello, Laravel ответит 404.

Route::get('/{any}', 'SpaController@index')->where('any', '.*');

Помните, что этот маршрут всегда будет помещен в последнюю часть вашего веб-маршруты после объявления других маршрутов

0 голосов
/ 30 января 2020

используйте это

Route::any('{all}', function () {
    return view('default');
})
->where('all', '^(?!api).*$')
->where('all', '^(?!storage).*$');


Route::get('events', 'EventsController@index')->prefix('api');

, так как вам понадобится api и storage маршрут Генделя по laravel

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