我尝试使用Laravel会话制作类似购物车的购物车,而在前端,我使用Ajax指示后端创建会话。
//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')));
}
并且转储返回预期数据,然后返回第二个帖子请求,检查'购物车'会议内容。
public function add_to_wishlist(Request $request){
dd(var_dump(session::get('cart')));
}
但它返回' NULL'当我设置“购物车”时,我并不期望它是空的。在第一个' POST'请求。有什么想法,请帮忙吗?
答案 0 :(得分:1)
尝试更改
Session::put('cart', $product);
到
Session::push('cart', $product);
并获取会话值
Session::get('cart')[0];