2016-12-05 122 views
1

我试图使用Laravel的会话来制作一个购物车,就像使用Laravel的会话一样,并且在前端,我使用Ajax指示后端创建会话。通过Ajax创建Laravel会话并检查它是否存在

//add to cart 
$(document).on('click','.add-to-cart',function(e){ 
    e.preventDefault(); 
    var dis = $(this); 
    $.ajax({ 
     url : site_link+'/product/add-to-cart', 
     data : { item_id : dis.attr("data-id") }, 
     type : 'post', 
     dataType : 'json', 
     success: function(e){ 
      console.log(e); 
     } 
    }) 
}); 

然后检查车

//check the cart 
$(document).on('click','.check-the-cart',function(e){ 
    e.preventDefault(); 
    var dis = $(this); 
    $.ajax({ 
     url : site_link+'/product/check-the-cart', 
     data : { item_id : dis.attr("data-id") }, 
     type : 'post', 
     dataType : 'json', 
     success: function(e){ 
      console.log(e); 
     } 
    }) 
}); 

,并在控制器,车添加到会话

public function add_to_cart(Request $request){ 
    $product = collect([1,2,3,4]); 
    Session::put('cart', $product); 

    dd(var_dump(session::get('cart'))); 
} 

和转储返回预期的数据,然后将第二个POST请求,检查'购物车'会话内容。

public function add_to_wishlist(Request $request){ 
    dd(var_dump(session::get('cart'))); 
} 

但它返回'NULL',我不希望为null,因为我在第一个'POST'请求中将'cart'设置为会话。任何想法,请帮助吗?

回答

0

尝试改变

Session::put('cart', $product); 

Session::push('cart', $product); 

,并获取会话值

Session::get('cart')[0]; 
相关问题