2016-12-05 167 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]; 
相關問題