1

我最近才遇到这个问题,我用的是Laravel的分页我也用ajax。如果我有 2 个相同的日期,例如,我今天发布了一些内容,然后今天再次发布,当我转到下一页时,它只会向我显示与最后插入的帖子相同的值。

控制器:

public function table() {
    $data= table::where('date_when','>=',today())->orderBy('date_when','ASC')->paginate(2);
    return view('pages.table1',compact('data'));
}
public function fetch_data(Request $request) {
    if($request->ajax()) {
        $PIData = table::where('date_when','>=',today())->orderBy('date_when','ASC')->paginate(2);
        return view('tables.table',compact('PIData'))->render();
    }
}

然后我在我的观点上使用$data->links()

脚本

function paginateTable() {
    $(document).on('click', '.pagination a', function(event) {
        event.preventDefault();
        var page = $(this).attr('href').split('page=')[1];
        fetch_data(page);
    });

    function fetch_data(page) {
        $.ajax({
            url:"/fetch_data?page="+page,
            success:function(data) {
                $('#table_data').html(data)
            }
        });
    }
}

我使用两个视图,一个用于显示表格以供我fetch_data在控制器上使用,另一个用于包含显示表格的视图。

4

1 回答 1

1

请尝试这样做。

$(document).on('click', '.pagination a', function(event) {
        event.preventDefault();
        var page = $(this).attr('href');
        fetch_data(page);
    });

    function fetch_data(page=null) {
        $.ajax({
            url:page?? "/fetch_data",
            success:function(data) {
                $('#table_data').html(data)
            }
        });
    }
于 2021-05-07T06:22:33.280 回答