首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax分页“下一步”和“上一步”按钮不能很好地工作

Ajax分页“下一步”和“上一步”按钮不能很好地工作
EN

Stack Overflow用户
提问于 2018-04-13 17:09:34
回答 1查看 541关注 0票数 0

我制作了自己的自定义分页视图。它运行良好。但是当我加入ajax代码来进行分页时,它就坏了。1-2-3-4-按钮工作正常。但我的主要问题是:

下一步按钮是将页面更改为第二页。

“上一页”按钮正在将页面更改为第一页。

当我停留在第二页时,无法使用下一步按钮跳转到第三页。

在我的控制器中:

代码语言:javascript
复制
$videos = Video::orderBy('id', 'desc')->paginate(7);

    if ($request->ajax()) {
        return view('frontend.videos.data', compact('videos'));
    }
        return view('frontend.videos', compact('videos'));

在视图中:

代码语言:javascript
复制
<div id="video-gallery" class="row mt-10px" style="width: 100%;margin: 0;">
        @include('frontend.videos.data')
    </div>

    {!! $videos->links('paginations.custom'); !!}

下面是ajax代码:

代码语言:javascript
复制
    <script type="text/javascript">
    $(window).on('hashchange', function() {
        if (window.location.hash) {
            var page = window.location.hash.replace('#', '');
            if (page == Number.NaN || page <= 0) {
                return false;
            }else{
                getData(page);
            }
        }
    });


    $(document).ready(function()
    {
        $(document).on('click', '.pagination a',function(event)
        {
            $('li').removeClass('active');
            $(this).parent('li').addClass('active');
            event.preventDefault();


            var myurl = $(this).attr('href');
            var page=$(this).attr('href').split('page=')[1];


            getData(page);
        });
    });


    function getData(page){
        $.ajax(
            {
                url: '?page=' + page,
                type: "get",
                datatype: "html",
            })
            .done(function(data)
            {
                $("#video-gallery").empty().html(data);
                $videoLightGallery.data('lightGallery').destroy(true);
                $videoLightGallery.lightGallery();
                //location.hash = page;
            })
            .fail(function(jqXHR, ajaxOptions, thrownError)
            {
                alert('No Response From Server');
            });
    }
</script>
@endsection

我希望有人能帮助我。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-04-13 18:24:50

在更新页面时,还应更新“上一步”和“下一步”按钮href属性。它们是在服务器端呈现的,并且只会在新页面加载时包含正确的href。

所以

代码语言:javascript
复制
$(window).on('hashchange', function() {
    // Update href tags.
    // Not giving everything away ;)
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49813276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档