Laravel-datatables: 未找到警告Ajax错误404的数据表

创建于 2016-08-28  ·  10评论  ·  资料来源: yajra/laravel-datatables

问题或功能要求摘要

我是Laravel的新手。 我能够使用jquery插件运行datatable。
我想要服务器端处理。 前几天我遇到了错误404。 今天我遇到
500内部服务器错误。 调用未定义的方法Yajra \ Datatables \ Datatables:

  • 存在对未定义方法Yajra \ Datatables \ Datatables :: eloquent()的调用。 昨天没有找到404文件。 请帮助我修复错误,以便我可以运行服务器端处理。 我看不出是什么原因造成的。 可能是我在索引中使用排序和搜索吗?
  • 我还尝试检查有关左连接的演示,但无法获取该演示。
    加入有类别,因此需要加入。 ** _您如何输出来自联接的数据
    在列中? 您能否提供用于服务器端处理的联接的简单示例?
  • 如果您还需要在列中查看和编辑按钮,该如何放置它们?

感谢您的关注。

问题的代码段

image
这是路线。
image
index.blade.php
image
服务提供者
image
别名
image

然后加入

公共功能索引(请求$ request){

    $categories = Category::all();

    $query = Accession::select('*');

    //this is for links that will run query according to
    //category type

    if ($request->input('type')){

        switch ($request->input('type')){

            case 'Photo':

                $query->where('category_id', 2);

                break;

            case 'Field Notes':

                $query->where('category_id', 3);

                break;

            case 'Audio Recording':

                $query->where('category_id', 4);

                break;

            case 'Instrument':

                $query->where('category_id', 5);

                break;

            case 'Music Scores':

                $query->where('category_id', 6);

                break;

            case 'Video':


                $query->where('category_id', 7);

                break;

            case 'Vertical Files':

                $query->where('category_id', 8);

                break;

            default:

                $query->orderBy('id', 'asc')->get();
        }

        $accessions = $query->orderBy('id')->get();
        return view('accessions.index', compact('accessions', 'categories'));


    }

    //this is for search bar

    $search = $request->input('search'); //<-- we use global request to get the param of URI

    if($search){

        $accessions = Accession::where('groupcountry','LIKE','%'.$search.'%')
                    ->orWhere('description', 'LIKE', '%'.$search.'%')
                    ->orWhere('author', 'LIKE', '%'.$search.'%')
                    ->orWhere('accession_no','LIKE','%'.$search.'%')
                    ->orWhere('year','LIKE','%'.$search.'%')
                    ->paginate(10);

        return view('accessions.index', compact('accessions', 'categories'));
    }
    else{


        $accessions = Accession::orderBy('id', 'asc')->get();
        return view('accessions.index', compact('accessions', 'categories'));
    }


}

系统详情

  • 操作系统Windows 10
  • PHP版本PHP 5.6.20
  • Laravel版本Laravel框架版本5.2.45
  • Laravel-Datatables版本6.0
question

最有用的评论

使用php artisan serve时由于环境问题, 404 Not Found是dataTables的间歇性问题。 请使用代客,宅基地或wamp / xampp来避免此问题。

所有10条评论

我将名称空间更改为使用Yajra \ Datatables \ Facades \ Datatables;
现在,表显示了收到的所有错误。

image

错误是错误200

尝试检查ajax响应以更好地了解错误。 您可能还需要仔细检查您的列和js与您的表结构是否匹配。 这可能是一个js问题。

感谢您的答复。 是的,我已经检查了ajax响应。 JSON皮棉看起来不错。 错误200消失了。 我检查了列和js,并使其与表结构匹配。 到目前为止,现在的错误是

image
将仔细检查

image

image

image

使用php artisan serve时由于环境问题, 404 Not Found是dataTables的间歇性问题。 请使用代客,宅基地或wamp / xampp来避免此问题。

@yajra 。 是的。 我目前正在使用xampp。 搜索继续

路线定义已审核。 间歇性404,但ajax返回数据。 我认为我必须在环境问题上达成共识。

在heroku中实时部署了该应用程序。 404不见了。 因此,这是已确认的环境问题。 关闭这个。 @yajra感谢您查看错误。 您的文档还为我提供了左联接以及查看和编辑按钮的帮助,谢谢。

上面给出的解决方案可以将您的项目转移到XAMPP的HTDOCS或WAMPP的www或直接运行它

@ marker17只需使您的javascriptweb.php如下

 $(document).ready(function () {
    var table = $('#example').DataTable({
        dom: 'lBrtip',
        processing: true,
        serverSide: true,
        ajax: {
            'url':'{!!url("ajax/chapter/list")!!}',
            'type': 'POST',
            'headers': {
            'X-CSRF-TOKEN': '{{ csrf_token() }}'
            }
            },

        orderCellsTop: true,
        fixedHeader: true,

        "columns": [{
                data: 'DT_RowIndex',
                orderable: false,
                searchable: true
            },

            {data: 'stream_id'},
            {data: 'course_id'},
            {data:  'subject_id'},
            {data:  'chapter_name'},
            {data: 'status'},
            {data: 'edit_delete',orderable: false},
        ],
    });

});

并在web.php中

路线::任何('ajax / chapter / list','YourController @Method ');

这段代码对我有用。

@ marker17只需使您的javascriptweb.php如下

 $(document).ready(function () {
    var table = $('#example').DataTable({
        dom: 'lBrtip',
        processing: true,
        serverSide: true,
        ajax: {
            'url':'{!!url("ajax/chapter/list")!!}',
            'type': 'POST',
            'headers': {
            'X-CSRF-TOKEN': '{{ csrf_token() }}'
            }
            },

        orderCellsTop: true,
        fixedHeader: true,

        "columns": [{
                data: 'DT_RowIndex',
                orderable: false,
                searchable: true
            },

            {data: 'stream_id'},
            {data: 'course_id'},
            {data:  'subject_id'},
            {data:  'chapter_name'},
            {data: 'status'},
            {data: 'edit_delete',orderable: false},
        ],
    });

});

并在web.php中

路线::任何('ajax / chapter / list','YourController @Method ');

这段代码对我有用。

拯救我的一天

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

sangnguyenplus picture sangnguyenplus  ·  3评论

Mopster picture Mopster  ·  3评论

josiahke picture josiahke  ·  3评论

t0n1zz picture t0n1zz  ·  3评论

vipin733 picture vipin733  ·  3评论