Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

manojkr's avatar

Unable to set session using axios request, always getting empty array...

hello..there i want to set shopping cart session using axios.post() request in vuejs and laravel.. but i getting empty array and session is not setting up... please anyone help me out... i tried so many times and so many ways... but unable to find solution..

0 likes
2 replies
manojkr's avatar

// axios request from Vue.js

cartSession(){ if(this.checked){

                    axios.post('http://localhost:8000/cart/cart/'+this.checked[0],{

                        'id':this.checked[0],
                        'category':this.checked[2],
                        'service_plan':this.checked[3],
                        'price':this.checked[1],
                        'user_id':this.checked[4]
                    })
                        .then(data=>this.sessionCart = data)
                        .catch(error => {
                            console.log(error.message);
                        })

                }else {
                     this.sessionCart = " ";
                }
            },
manojkr's avatar

//CartController

public function cart(Request $request,$id){ $session = $request->session(); $service = array( 'id'=>$request->id, 'category'=>$request->category, 'service_plan'=>$request->service_plan, 'price'=>$request->price, 'user_id'=>$request->user_id ); $services = (object)$service; $oldCart = $session->has('cart') ? $session->get('cart') : null; $carts = new CartSession($oldCart); $carts->add($service,$id); $session->put('cart', $carts); $sessionData = $session->get('cart'); return request()->json(200,$oldCart);

//Cart Model

class CartSession extends Model {

public $serviceCategory = null;
public $servicePlan = 0;
public $price = 0;
public $totalPrice = 0;
public $serviceTotal = 0;

public function __construct($oldCart)
{
    //parent::__construct($attributes);
    if($oldCart){

        $this->serviceCategory = $oldCart->serviceCategory;
        $this->servicePlan = $oldCart->servicePlan;
        $this->price = $oldCart->price;
        $this->totalPrice = $oldCart->totalPrice;
        $this->serviceTotal = $oldCart->serviceTotal;
    }
}
public function add($item,$id){

    $storedItem = ['service_qty'=> 0,'category' => $item['category'],'price'=>$item['price']];
    if ($this->serviceCategory){
        if(array_key_exists($id,$this->serviceCategory)){
            $storedItem = $this->serviceCategory[$id];
        }
    }
    //dd($storedItem);
    $storedItem['service_qty']++;
    $storedItem['price'] = $item['price'] * $storedItem['service_qty'];
    $this->serviceCategory[$id] = $storedItem;
    $this->serviceTotal++;
    $this->totalPrice += $item['price'];
    $this->servicePlan = $item;
    return $item;
}

Please or to participate in this conversation.