【问题标题】:How to reload current page before going to link? ajax jquery如何在链接之前重新加载当前页面? ajax jQuery
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-31
    • 2020-06-17
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多