首页 > 解决方案 > 我如何访问 laravel 上的会话?

问题描述

我可以Session::get('LoggedUser')毫无问题地访问索引功能。

在此处输入图像描述

但是当我向 getProjects() 函数发送 axios 发布请求时,我无法访问会话。

在此处输入图像描述

控制器代码:

class ProjectController extends Controller
{
    public function index(){
        //dd(Session::get('LoggedUser'));
        return view('user.project.dashboard');
    }

    public function getProjects(){
        dd(Session::get('LoggedUser'));
    }
}

组件代码:

mounted(){
            axios.post('/api/user/projects')
                .then(response=>{
                    console.log(response.data.data)
                })
        }

api.php:

Route::prefix('user')->group(function(){
    Route::post('projects',[UserProjectController::class, 'getProjects']);
});

标签: laravelvue.jssessionlaravel-5

解决方案


对于 axios 配置,您必须将 withCrendetials 选项设置为 true

示例配置

const instance = axios.create({
  withCredentials: true,
  baseURL: API_SERVER
})

window.axios = instance 

检查 js 文件夹中的 boostrap.js 文件,您会看到 axios 的配置设置。如果您在 laravel 设置中使用 vue ui


推荐阅读