在 Laravel 5.3 应用程序中单击后退按钮时保持 ajax 分页

maintain ajax pagination upon clicking back button in Laravel 5.3 application

我正在使用 laravel 分页($data->links()) 使用以下代码进行 ajax 分页。

$(document).on("click", '.pagination a', function(e) {
    e.preventDefault();
    var url = $(this).attr('href');
    loadArts(url);
});

function loadArts(url) {
    $.ajax({
        url : url
    }).done(function (data) {
        $(".image-masonry").html(data);

        jsIntializations()
    }).fail(function () {
        alert('Articles could not be loaded.');
    });
}

它工作正常,但是从内页单击后退按钮后,浏览器返回到 page1。 这是控制器功能

public function index(Request $request)
{
    $arts = Art::with('artist')->orderBy('id','ASC')->paginate(10);
    if($request->ajax()){            
        return view('art::art.list', compact('arts');
    }
    return view('art::art.index', compact('arts');
}

.image-masonary 是 index.blade.php 中的 class,list.blade.php 的内容在分页时加载到其中。

这是 url : http://localhost:8000/admin/arts

我试过这个方法,history.pushState({ path: url }, '', url);

然后后退按钮正在走 ajax 路线,但只能看到破碎的视图。

您可以参考下面的答案

https://blog.pisyek.com/browsers-back-button-issue-after-logout-laravel-5 https://laracasts.com/discuss/channels/requests/back-button-browser?page=1