2017-02-23 274 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» предотвратить дефолт, чтобы сделать перезагрузку, прежде чем переходить на работу. Как мне это сделать? Мне нужно это, потому что я думаю, что хром загружает кешированную копию страницы, которая не применила изменения на сервере.

+1

попробуйте правильный код отступа в вашем вопросе –

ответ

0

Попробуйте обработать событие mousedown вместо щелчка.