Почему вызов ajax для поиска не отображает вывод? - PullRequest
0 голосов
/ 10 октября 2018

У меня было поле поиска с использованием ajax-вызова в laravel 5. Он ищет в Db и отображает вывод в таблице.Когда пользователь нажимает на страницу, он должен отображать все запросы БД.Когда пользователь вводит в поле поиска, он должен отображать выходные данные в соответствии с поисковым вводом.

Это контроллер для поиска:

  function action(Request $request)
{
     if($request->ajax())
     {
          $output = '';
          $query = $request->get('query');
          if($query != '')
            {
               $data = DB::table('itemregistrations')
                        ->where('name', 'like', '%'.$query.'%')
                        ->paginate(10);

            }
            else
            {
               $data = DB::table('itemregistrations')
                        ->paginate(10);
              }

          $total_row = $data->count();

          if($total_row > 0)
          {
               foreach($data as $row)
               {
                $output .= '
                <tr>
                 <td>'.$row->name.'</td>
                 <td>'.$row->seksyen_kecil.'</td>
                 <td>'.$row->nobadan.'</td>
                </tr>
                ';
           }
          }
          else
          {
           $output = '
           <tr>
            <td align="center" colspan="5">No Data Found</td>
           </tr>
           ';
          }
          $data = array(
           'table_data'  => $output,
           'total_data'  => $total_row
          );

      echo json_encode($data);
     }
}

Это панель просмотра, отображающая вывод:

 <div class="row">
                <div class="form-group">
                  <div class="col-lg-5">
                    <input type="text" class="form-control" id="search" name="search"></input>
                  </div>
                </div>
            </div>

<div class="panel panel-default">
                  <div class="panel-heading">Senarai Kakitangan</div>
                     <div class="panel-body">
                            @if (session('status'))
                                <div class="alert alert-success">
                                    {{ session('status') }}
                                </div>
                            @endif


                             @if(Auth::check())
                                <div class="container table-responsive col-lg-12">
                                    <!-- <div class="container text-center"> -->      
                                      <h3 align="center">Total Data : <span id="total_records"></span></h3>

                                        <table class="table table-striped table-bordered">
                                            <thead>
                                              <tr>
                                                <td><strong>#</strong></td>
                                                <td class="text-center col-lg-1"><strong>Nama</strong></td>
                                                <td class="text-center col-lg-3"><strong>Seksyen</strong></td>
                                                <td class="text-center col-lg3-2"><strong>No Badan</strong></td>
                                              </tr>
                                            </thead>

                                        <tbody>

                                        </tbody>
                                        </table>
                                    <!-- </div> -->
                                    <ul class="pagination pull-right">
                                        {{ $itemregistrations->links() }}
                                    </ul>
                                </div>
                            @endif
                            @if(Auth::guest())
                                <a href="/login" class="btn btn-info"> Anda perlu log masuk.</a>
                            @endif
                     </div>
                  </div>
                </div>

Javascript для поиска:

 <script>
$(document).ready(function(){

fetch_profil_data();

function fetch_profil_data(query = '')
{
  $.ajax({
  url:"{{ route('live_search.action') }}",
  method:'GET',
  data:{query:query},
  dataType:'json',
  success:function(data)
{
  $('tbody').html(data.table_data);
  $('#total_records').text(data.total_data);
}
})
}

$(document).on('keyup', '#search', function(){
 var query = $(this).val();
fetch_profil_data(query);
});
});
</script>

Маршрут для поиска:

 Route::get('/profil/action', 'Modul\ProfilController@action')->name('live_search.action');

Я не смог найти ни одной ошибки, и console.log также не обнаружилничего не выводится ..

Поиск не работает и не показывает никакого результата.

Ссылка на скрипт, которую я вставил в app.blade.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

Это ошибка в журнале

C:\\xampp\\htdocs\\hre1m\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#50 C:\\xampp\\htdocs\\hre1m\\public\\index.php(53): 
Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#51 C:\\xampp\\htdocs\\hre1m\\server.php(21): 
require_once('C:\\\\xampp\\\\htdocs...')
 #52 {main}
 "} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...