Laravel-datatables: tabelas de dados que alertam o erro Ajax 404 não encontrado

Criado em 28 ago. 2016  ·  10Comentários  ·  Fonte: yajra/laravel-datatables

Resumo do problema ou solicitação de recurso

Eu sou novo em laravel. Consegui executar a tabela de dados usando o plugin jquery.
Eu gostaria do processamento do lado do servidor. Encontrei o erro 404 outro dia. Hoje eu encontrei
500 Erro interno do servidor. Chamada para o método indefinido Yajra \ Datatables \ Datatables:

  • A chamada para o método indefinido Yajra \ Datatables \ Datatables :: eloquent () está presente. Ontem foi o arquivo 404 não encontrado. Ajude-me a corrigir o erro para que eu possa executar o processamento do lado do servidor. Não consigo ver o que causa isso. Será que estou usando classificação e pesquisa em meu índice?
  • Eu também tentei checar a demo a respeito do left join, mas não consegui pegar a demo.
    Uma adesão tem categorias e, portanto, precisa de uma adesão. ** _ Como você produz dados que vêm de uma junção
    nas colunas? Você pode fornecer um exemplo simples de junção usada no processamento do lado do servidor?
  • E se você também precisa de um botão de visualização e edição nas colunas, como você os posiciona?

Obrigado por olhar isso.

Fragmento de código do problema

image
aqui está a rota ..
image
index.blade.php
image
provedor de serviço
image
apelido
image

então adesão

índice de função pública (solicitação $ solicitação) {

    $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'));
    }


}

Detalhes do sistema

  • Sistema operacional Windows 10
  • PHP Versão PHP 5.6.20
  • Laravel Versão Laravel Framework versão 5.2.45
  • Laravel-Datatables Versão 6.0
question

Comentários muito úteis

404 Not Found é um problema intermitente de dataTables devido a um problema de ambiente ao usar php artisan serve . Use valet, homestead ou wamp / xampp para evitar esse problema.

Todos 10 comentários

Mudei o namespace para usar Yajra \ Datatables \ Facades \ Datatables;
As tabelas agora estão mostrando o erro recebido.

image

o erro é o erro 200

Tente inspecionar a resposta ajax para obter uma visão melhor do erro. Você também pode precisar verificar se as colunas e o js correspondem à estrutura da tabela. Este é provavelmente um problema de js.

Obrigado pela resposta. Sim, verifiquei a resposta ajax. JSON lint parece bom. O erro 200 desapareceu. Verifiquei as colunas e js e combinei-os com a estrutura da tabela. Até agora, o erro agora é

image
Vou verificar novamente

image

image

image

404 Not Found é um problema intermitente de dataTables devido a um problema de ambiente ao usar php artisan serve . Use valet, homestead ou wamp / xampp para evitar esse problema.

@yajra . sim. Atualmente estou usando o xampp. A busca continua

A definição da rota foi revisada. 404 intermitente, mas o ajax retorna dados. Acho que tenho que concordar na questão do meio ambiente.

Implantei o aplicativo ao vivo no heroku. 404 se foi. Portanto, este é um problema ambiental confirmado. Fechando isso. @yajra Obrigado por olhar para o erro. Sua documentação também me ajudou com o botão de juntar à esquerda e visualizar e editar, obrigado.

A solução dada acima funciona apenas para transferir seu projeto para o HTDOCS do seu XAMPP ou www do seu WAMPP ou executá-lo ao vivo

@ marker17 apenas crie seu javascript e web.php da seguinte forma

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

});

E em web.php

Route :: any ('ajax / capítulo / lista', 'YourController @Method ');

este código funcionou para mim.

@ marker17 apenas crie seu javascript e web.php da seguinte forma

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

});

E em web.php

Route :: any ('ajax / capítulo / lista', 'YourController @Method ');

este código funcionou para mim.

salve meu dia

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

ghost picture ghost  ·  3Comentários

FilipeBorges1993 picture FilipeBorges1993  ·  3Comentários

t0n1zz picture t0n1zz  ·  3Comentários

kamrava picture kamrava  ·  3Comentários

alejandri picture alejandri  ·  3Comentários