【发布时间】:2017-02-23 11:50:33
【问题描述】:
这是风景
<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>
所以我需要在第二次点击后重新加载当前页面
试试这个:
$(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');
}
});
}
});
我猜它不起作用,因为我在第一次单击它时阻止了默认值,所以我认为我需要“取消”阻止默认值以在链接工作之前重新加载。我该怎么做?我需要它,因为我猜 chrome 会加载尚未在服务器上应用更改的页面的缓存副本。
【问题讨论】:
-
尝试在您的问题中正确缩进代码
标签: javascript jquery ajax laravel