2017-02-23 107 views
1

这里的景色如何在链接之前重新加载当前页面? AJAX的jQuery

<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> 

所以我需要它

第2点击后重新加载当前页面尝试这样的:

$(document).ready(function(c) { 
     $('.item_add').click(function (event) { 
     var addButton = $(this).children('p'); 
    if(addButton.hasClass('added')) 
    { 
     linktocart.attr('onclick','location.reload(true)'); 
    } 

    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'); 
       } 
      }); 
    } 
}); 

它不工作,我猜,因为当我第一次点击它时,我阻止了默认设置,所以我认为我需要“un”阻止默认设置在连接工作之前进行重新加载。我该怎么做?我需要它,因为我猜chrome加载页面的缓存副本,它没有在服务器上应用更改。

+1

尝试在您的问题中正确缩进代码 –

回答

0

尝试处理mousedown事件而不是点击。

相关问题