Laravel-datatables: datatables avertissement erreur ajax 404 introuvable

Créé le 28 août 2016  ·  10Commentaires  ·  Source: yajra/laravel-datatables

Résumé du problème ou de la demande de fonctionnalité

Je suis nouveau à laravel. J'ai pu exécuter datatable en utilisant le plugin jquery.
Je voudrais le traitement côté serveur. J'ai rencontré l'erreur 404 l'autre jour. Aujourd'hui j'ai rencontré
500 Erreur de serveur interne. Appel à la méthode non définie Yajra \ Datatables \ Datatables:

  • L'appel à la méthode non définie Yajra \ Datatables \ Datatables :: eloquent () est présent. Hier, c'était un fichier 404 introuvable. Aidez-moi à corriger l'erreur afin que je puisse exécuter le traitement côté serveur. Je suis incapable de voir ce qui cause cela. Se pourrait-il que j'utilise le tri et la recherche dans mon index?
  • J'ai également essayé de vérifier la démo concernant la jointure gauche, mais je n'ai pas pu obtenir la démo.
    Une adhésion comporte des catégories et nécessite donc une jointure. ** _ Comment sortez-vous les données provenant d'une jointure
    dans les colonnes? Pouvez-vous fournir un exemple simple de jointure utilisée dans le traitement côté serveur?
  • Et si vous avez également besoin d'un bouton Afficher et Modifier dans les colonnes, comment les placez-vous?

Merci d'avoir regardé ceci.

Extrait de code du problème

image
voici l'itinéraire ..
image
index.blade.php
image
fournisseur de services
image
alias
image

puis adhésion

index de fonction publique (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'));
    }


}

Détails du système

  • Système d'exploitation Windows 10
  • Version PHP PHP 5.6.20
  • Version Laravel Framework Laravel version 5.2.45
  • Laravel-Datatables Version 6.0
question

Commentaire le plus utile

404 Not Found est un problème intermittent de dataTables en raison d'un problème d'environnement lors de l'utilisation de php artisan serve . Veuillez utiliser valet, homestead ou wamp / xampp pour éviter ce problème.

Tous les 10 commentaires

J'ai changé l'espace de noms pour utiliser Yajra \ Datatables \ Facades \ Datatables;
Les tableaux affichent maintenant les erreurs reçues.

image

l'erreur est l'erreur 200

Essayez d'inspecter la réponse ajax pour obtenir une meilleure vue de l'erreur. Vous devrez peut-être également vérifier que vos colonnes et vos js correspondent à la structure de votre table. C'est probablement un problème js.

Merci pour votre réponse. Oui, j'ai vérifié la réponse ajax. La charpie JSON a l'air bien. L'erreur 200 a disparu. J'ai vérifié les colonnes et les js et les ai fait correspondre avec la structure du tableau. Jusqu'à présent, l'erreur est maintenant

image
Va vérifier

image

image

image

404 Not Found est un problème intermittent de dataTables en raison d'un problème d'environnement lors de l'utilisation de php artisan serve . Veuillez utiliser valet, homestead ou wamp / xampp pour éviter ce problème.

@yajra . Oui. J'utilise actuellement xampp. La recherche continue

La définition de l'itinéraire a été revue. Intermittent 404 mais ajax renvoie des données. Je pense que je dois être d'accord sur la question de l'environnement.

Déploiement de l'application en direct dans heroku. 404 est parti. C'est donc un problème d'environnement confirmé. Clôture ceci. @yajra Merci d'avoir regardé l'erreur. Votre documentation m'a également aidé avec la jointure gauche et le bouton d'affichage et d'édition, merci.

La solution donnée ci-dessus fonctionne il suffit de transférer votre projet vers le HTDOCS de votre XAMPP ou www de votre WAMPP ou de l'exécuter en direct

@ marker17 créez simplement votre javascript et web.php comme suit

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

});

Et dans web.php

Route :: any ('ajax / chapitre / liste', 'YourController @Method ');

ce code a fonctionné pour moi.

@ marker17 créez simplement votre javascript et web.php comme suit

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

});

Et dans web.php

Route :: any ('ajax / chapitre / liste', 'YourController @Method ');

ce code a fonctionné pour moi.

sauve ma journée

Cette page vous a été utile?
0 / 5 - 0 notes