【问题标题】:maintain ajax pagination upon clicking back button in Laravel 5.3 application在 Laravel 5.3 应用程序中单击后退按钮时保持 ajax 分页
【发布时间】:2018-02-23 00:48:59
【问题描述】:

我正在使用 laravel pagination($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 中的类,list.blade.php 的内容在分页时被加载到该类。

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

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

然后后退按钮采用 ajax 路由,但只能看到损坏的视图。

【问题讨论】:

  • 嗨@Shalom,你能解决这个问题吗?我在 history.pushState 问题上与您的问题相同...期待收到您的来信。
  • @Wai Mun,还不是我的朋友。我现在忙于其他工作,所以无法继续工作。找到后请告诉我。谢谢。
  • 请在下面查看我的答案。我试过了,效果非常好......

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


【解决方案1】:

【讨论】:

  • 这个答案如何用于我的问题?
  • 您创建中间件 RevalidateBackHistory。使用该中间件,您在后退按钮上没有 ajax 请求问题。
  • 是的,这个页面给出了解决方案。 laracasts.com/discuss/channels/requests/…
猜你喜欢
  • 2021-08-18
  • 1970-01-01
  • 2018-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多