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

时间:2017-09-14 06:45:23

标签: javascript ajax laravel laravel-5.3 jquery-pagination

我正在使用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.');
    });
}

它工作正常,但是当点击内页的后退按钮时,浏览器返回到第1页。 这是控制器功能

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中的类,在分页时将list.blade.php的内容加载到该类中。

这是网址:http://localhost:8000/admin/arts

我尝试了这种方法history.pushState({ path: url }, '', url);

然后后退按钮正在采用ajax路线,但只获得了断开的视图。