冲突beetwen VueJS和Laravel(SPA ROUTER)

时间:2018-10-23 19:06:46

标签: laravel vue.js axios single-page-application

我正在使用Laravel和VueJS开发应用程序(SPA)。

我正在使用vue-router来管理我的路由/组件,因此它可以正常工作。

但是当我添加mode: 'history'时,axios停止在vuex文件中发出所有请求。这是一个无需友好网址即可运行的请求的示例。

  userIsLogged: context => {
    return new Promise((resolve, reject) => {
      window.axios
        .get('api/v1/auth/info')
        .then(response => {
          let user = response.data.user
          let roles = response.data.roles
          context.commit('USER_AUTHENTICATED', {
            user,
            roles
          })
          resolve()
        })
        .catch(error => {
          console.log('falhou aqui')
          localStorage.removeItem('AUTH_TOKEN')
          reject(error)
        })
    })
  }

这是我在laravel上的routes/api.php

Route::name('auth.')->prefix('auth')->namespace('Auth')->group(function () {
    Route::name('register')->post('register', 'AuthController@register');
    Route::name('login')->post('login', 'AuthController@login');
    Route::middleware('auth:api')->group(function () {
        Route::name('logout')->post('logout', 'AuthController@logout');
        Route::name('info')->get('info', 'AuthController@user');
    });
});

这是我在laravel上的route / web.php:

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

这是我的vue-router文件:

import Vue from 'vue'
import VueRouter from 'vue-router'
import store from '../vuex'

import website from './website'
import auth from './auth'
import admin from './admin'
import sale from './sale'

Vue.use(VueRouter)

const routes = [
  website,
  auth,
  admin,
  sale
]

0 个答案:

没有答案