1

I am adding an item in wishlist in laravel , item is adding in wishlist and showing red heart but after adding when i refresh then only it shows red heart, how can i make it red heart instantly after adding in wihslist?

i have used ajax for pass the data

            <script>
                var user_id = {{ Auth::id() }};
                $(document).ready(function(){
                    $('.addtowishlist').click(function()
                    {
                    $.ajaxSetup({
                        headers:{
                            'X-CSRF-TOKEN': '{{ csrf_token() }}'
                        }
                    });
                    var product_id=$(this).data('productid');
                    $.ajax({
                        type:'POST',
                        url:'/post_wishlist',
                        data:{
                            product_id:product_id,
                            user_id:user_id
                        },
                        success:function(reponse){
                            wishlistIcon.toggleClass('wishlist-added', response.inWishlist);
                        }
                    })
                    });
                });
            </script>

then i am inserting data into table using controller

          public function post_wishlist(Request $request)
            {
                if ($request->ajax()) {
                    $data = $request->all();
                    $pid = $data['product_id'];
                    $userid = $data['user_id'];

                    $wishlistExists = DB::table('wishlist')
                        ->where('pid', $pid)
                        ->where('userid', $userid)
                        ->exists();

                    if ($wishlistExists) {
                        DB::table('wishlist')
                            ->where('pid', $pid)
                            ->where('userid', $userid)
                            ->delete();
                    } else {
                        DB::table('wishlist')->insertOrIgnore([
                            'pid' => $pid,
                            'userid' => $userid,
                        ]);
                    }

                    return response()->json(['success' => true]);
                }
            }

and i am displaying red heart using anchor tag

            <a href="#" id="addtowishlist" class="addtowishlist {{ ($productdata->inWishlist ? 'wishlist-added' : '') }}" data-productid="{{ $productdata->id }}">
                <i class="fa fa-heart fa-2x addtowishliststyle" aria-hidden="true" style="color: {{ ($productdata->inWishlist ? '#8B0000' : 'white') }}"></i>
            </a>
Meera
  • 41
  • 7

0 Answers0