Laravel-datatables: Datentabellen Warnung Ajax Fehler 404 nicht gefunden

Erstellt am 28. Aug. 2016  ·  10Kommentare  ·  Quelle: yajra/laravel-datatables

Zusammenfassung des Problems oder der Funktionsanforderung

Ich bin neu in Laravel. Ich konnte datatable mit dem jquery-Plugin ausführen.
Ich möchte die serverseitige Verarbeitung. Ich bin neulich auf Fehler 404 gestoßen. Heute bin ich begegnet
500 Interner Serverfehler. Aufruf der undefinierten Methode Yajra \ Datatables \ Datatables:

  • Aufruf der undefinierten Methode Yajra \ Datatables \ Datatables :: eloquent () ist vorhanden. Gestern wurde 404 Datei nicht gefunden. Bitte helfen Sie mir, den Fehler zu beheben, damit ich die serverseitige Verarbeitung ausführen kann. Ich kann nicht sehen, was das verursacht. Könnte es sein, dass ich Sortierung und Suche in meinem Index verwende?
  • Ich habe auch versucht, die Demo in Bezug auf Left Join zu überprüfen, konnte die Demo jedoch nicht erhalten.
    Ein Beitritt hat Kategorien und benötigt daher einen Beitritt. ** _ Wie geben Sie Daten aus, die von einem Join stammen?
    in den Spalten? Können Sie ein einfaches Beispiel für den Join angeben, der bei der serverseitigen Verarbeitung verwendet wird?
  • Wie wäre es, wenn Sie auch eine Schaltfläche zum Anzeigen und Bearbeiten in den Spalten benötigen, wie platzieren Sie sie?

Vielen Dank, dass Sie sich das angesehen haben.

Code-Snippet des Problems

image
Hier ist Route ..
image
index.blade.php
image
Dienstleister
image
alias
image

dann Beitritt

öffentlicher Funktionsindex (Request $ 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'));
    }


}

Systemdetails

  • Betriebssystem Windows 10
  • PHP Version PHP 5.6.20
  • Laravel Version Laravel Framework Version 5.2.45
  • Laravel-Datatables Version 6.0
question

Hilfreichster Kommentar

404 Nicht gefunden ist ein zeitweise auftretendes Problem von dataTables aufgrund eines Umgebungsproblems bei Verwendung von php artisan serve . Bitte verwenden Sie Valet, Homestead oder Wamp / Xampp, um dieses Problem zu vermeiden.

Alle 10 Kommentare

Ich habe den Namespace geändert, um Yajra \ Datatables \ Facades \ Datatables zu verwenden.
In den Tabellen werden jetzt die Fehler angezeigt.

image

Der Fehler ist Fehler 200

Überprüfen Sie die Ajax-Antwort, um eine bessere Übersicht über den Fehler zu erhalten. Möglicherweise müssen Sie auch überprüfen, ob Ihre Spalten und Ihre js mit Ihrer Tabellenstruktur übereinstimmen. Dies ist wahrscheinlich ein Problem.

Danke für die Antwort. Ja, ich habe die Ajax-Antwort überprüft. JSON-Flusen sehen gut aus. Der Fehler 200 ist verschwunden. Ich habe die Spalten und js überprüft und sie mit der Tabellenstruktur abgeglichen. Bisher ist Fehler jetzt

image
Wird noch einmal überprüfen

image

image

image

404 Nicht gefunden ist ein zeitweise auftretendes Problem von dataTables aufgrund eines Umgebungsproblems bei Verwendung von php artisan serve . Bitte verwenden Sie Valet, Homestead oder Wamp / Xampp, um dieses Problem zu vermeiden.

@yajra . Ja. Ich benutze derzeit xampp. Die Suche wird fortgesetzt

Die Routendefinition wurde überprüft. Intermittierend 404, aber Ajax gibt Daten zurück. Ich denke, ich muss mich auf Umweltfragen einigen.

Bereitgestellt die App live in Heroku. 404 ist weg. Dies ist also ein bestätigtes Umweltproblem. Schließen Sie dies. @yajra Vielen Dank, dass Sie sich den Fehler angesehen haben. Ihre Dokumentation hat mir auch beim Linken Verbinden und Anzeigen und Bearbeiten geholfen. Vielen Dank.

Die oben angegebene Lösung funktioniert einfach, indem Sie Ihr Projekt auf die HTDOCS Ihres XAMPPor www Ihres WAMPP übertragen oder live ausführen

@ marker17 mache einfach dein Javascript und web.php wie folgt

 $(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},
        ],
    });

});

Und in web.php

Route :: any ('Ajax / Kapitel / Liste', 'YourController @Method ');

Dieser Code hat bei mir funktioniert.

@ marker17 mache einfach dein Javascript und web.php wie folgt

 $(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},
        ],
    });

});

Und in web.php

Route :: any ('Ajax / Kapitel / Liste', 'YourController @Method ');

Dieser Code hat bei mir funktioniert.

rette meinen Tag

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

hohuuhau picture hohuuhau  ·  3Kommentare

FilipeBorges1993 picture FilipeBorges1993  ·  3Kommentare

jgatringer picture jgatringer  ·  3Kommentare

ghost picture ghost  ·  3Kommentare

kamrava picture kamrava  ·  3Kommentare