首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Laravel在DataTables上加载/保存排序和筛选选项

使用Laravel在DataTables上加载/保存排序和筛选选项
EN

Stack Overflow用户
提问于 2016-12-07 18:34:14
回答 1查看 1.4K关注 0票数 1

我需要保存分页、排序和搜索输入的状态,最终使用Laravel和API而不是数据库。我不想使用yajra/laravel-datatables,因为我已经创建了我需要的复杂DataTable。

示例

代码语言:javascript
复制
<script type="text/javascript">
    $(document).ready(function () {
        var table = $('#stackoverflow-datatable').DataTable({
            "stateSave": true,
            "stateSaveCallback": function (settings, data) {
                $.ajax({
                    "url": "/api/save_state",
                    "data": data,
                    "dataType": "json",
                    "success": function (response) {}
                });
            },
            "stateLoadCallback": function (settings) {
                var o;
                $.ajax({
                    "url": "/api/load_state",
                    "async": false,
                    "dataType": "json",
                    "success": function (json) { o = json; }
                });
                return o;
            }
        });
    });
</script>

URL:"/api/load_state“指向Laravel路由,路由指向Controller上的特定方法。我看到它正确地调用了方法。然而,我不知道它在送我什么,也不知道我如何改变JS,告诉它我需要什么。一旦我有了on对象(或其他东西),将其发回并在用户返回页面时应用它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-07 19:10:54

根据描述,看起来一切都正常,您只需要一种方式来调试所接收的数据,因此您可以使用日志来这样做:

代码语言:javascript
复制
Route::get('/api/load_state', function() {
    \Log::info(app('request')->all());
});

尾随着原木

代码语言:javascript
复制
tail -f storage/logs/laravel.log

所以如果你撞到

代码语言:javascript
复制
http://domain.dev/api/load_state?what=1    

你应该看看

若要将json对象响应回客户端,可以执行以下操作

代码语言:javascript
复制
Route::get('/api/load_state', function(Request $request) {
    return response()->json(
        User::find($request->get('user_id'))
    );
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41024826

复制
相关文章

相似问题

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