繁体   English   中英

会话不在 Vue.js 和 Laravel 中存储数据

[英]Session not storing data in Vue.js & Laravel

我试图在来自 vue.js 的每个 AJAX 调用中将数据存储到 Laravel 会话中。

我想使用会话在 Laravel 购物车中添加一个产品,但它不存储任何类型的会话数据。 我还添加了网络中间件,但没有运气。

api.php

<?php
    Route::group(['namespace' => 'Api'],function(){
        Route::resource('product','ProductController');
        Route::post('add-to-cart','ProductController@addToCart');
    });

产品控制器.php

<?php
    public function addToCart(Request $request){
    $product = $request->all();

    $cart = Session::get('cart');
    $cart[$product['id']] = $product;
    Session::push('cart', $cart);

    return Response::json(['success' => true, 'cart_items' => Session::get('cart')]);
}

产品列表组件.vue

addToCartProduct(product){
    fetch('api/add-to-cart',{
        method: 'post',
        body:JSON.stringify(product),
        headers:{
            'content-type':'application/json'
        }
    })
    .then(res => res.json())
    .then(res => {
        console.log(res);
    })
    .catch(err => console.log(err));
}                 

你所有的路由都在api中间件中注册,如果你检查app/Http/Kernel.php文件,你会看到它没有注册StartSession中间件。 因此,您必须先启动会话才能将数据保存到会话中。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM