2017-02-23 39 views
1

所以,问题是:服务器上的数据时,我按下浏览器“返回”按钮不会更新jQuery的AJAX laravel

当我按下“购买”按钮,它会改变颜色和链接,并增加了产品到购物车:

$(document).ready(function(c) { 
    $('.item_add').click(function (event) { 
    var addButton = $(this).children('p'); 
    if(addButton.hasClass('added')) 
    { 
     window.location.href="http://site.loc/cart"; 
    } 

    else 
    { 
     event.preventDefault(); 
     var id = $(this).attr('id'); 
     var href = $(this).attr('href'); 
     var data = {'cart_item_id': id}; 
     var carturl = "http://site.loc/cart"; 

      $.ajax({ 
       url: href, 
       data: data, 
       headers: { 
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
       }, 
       type: 'POST', 
       dataType: 'JSON', 
       success: function (html) { 
         addButton.addClass('added'); 
         addButton.css('background', 'green'); 
         addButton.parent('a').attr('href', carturl); 
         $('#addOrAlready').text('Added'); 
       } 
      }); 
    } 
}); 

然后,当我点击这个按钮,它让我到购物车,像预想的那样,但是,当我按下“返回”按钮,在浏览器的页面是一样的:按钮是不是绿色的,和链接没有更新到/购物车,只有当我RELOAD页面的数据更新。为什么当我去购物车时数据不会更新?如何更新它?

查看:

<a href="{{$cart_items->contains('id',$productItem->id) ? route('IndexCart'): route('AddToCart')}}" class="item_add" id="{{$productItem->id}}"> 
           <p class="number item_price {{$cart_items->contains('id',$productItem->id) ? 'added': ''}}"> 
            <i> </i>${{$productItem->price}} 
           </p> 
          </a> 

回答

相关问题