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>