Не удается выполнить поиск с помощью AJAX в приложении Laravel - PullRequest
0 голосов
/ 06 декабря 2018

Я не могу искать, используя ajax, это моя проблема.Мне нужно искать без обновления.

Вот мой код контроллера;я что-то здесь упускаю?

public function search(Request $request){
    if($request->ajax())
    {

        $employees = DB::table('employeefms')->where('last_name','LIKE','%'.$request->search.'%')
                                             ->orWhere('first_name','LIKE','%'.$request->search.'%')->get();

        return response();
    }
}

Вот мой взгляд.Я знаю, что у меня здесь много полей!Пожалуйста, проверьте, что я что-то упустил:

     @foreach ($employees as $employee)
    <tbody>
      <tr>
        <td>{{ $employee->employee_no}}</td>
        <td>{{ $employee->last_name}}</td>
        <td>{{ $employee->first_name}}</td>
        <td>{{ $employee->middle_name}}</td>
        <td>{{ $employee->nick_name}}</td>
        <td>{{ $employee->gender}}</td>
        <td>{{ $employee->birthdate }}</td>
        <td>{{ $employee->age}}</td>
        <td>{{ $employee->birthplace}}</td>
        <td>{{ $employee->province}}</td>
        <td>{{ $employee->doMarriage}}</td>
        <td>{{ $employee->height}}</td>
        <td>{{ $employee->weight}}</td>
        <td>{{ $employee->bloodtype}}</td>
        <td>{{ $employee->nationality }}</td>
        <td>{{ $employee->religion}}</td>
        <td>{{ $employee->civil_stats}}</td>
        <td>{{ $employee->sss_no}}</td>
        <td>{{ $employee->tin_id}}</td>
        <td>{{ $employee->phil_no}}</td>
        <td>{{ $employee->pagibig_no}}</td>
        <td>{{ $employee->address_no}}</td>
        <td>{{ $employee->street_no}}</td>
        <td>{{ $employee->brgy}}</td>
        <td>{{ $employee->municipality}}</td>
        <td>{{ $employee->cur_province}}</td>
        <td>{{ $employee->region}}</td>
        <td>{{ $employee->zipcode}}</td>
        <td>{{ $employee->per_address_no}}</td>
        <td>{{ $employee->per_street_no}}</td>
        <td>{{ $employee->per_brgy}}</td>
        <td>{{ $employee->per_municipality}}</td>
        <td>{{ $employee->per_province}}</td>
        <td>{{ $employee->per_region}}</td>
        <td>{{ $employee->per_zipcode}}</td>
        <td>{{ $employee->mobile_no}}</td>
        <td>{{ $employee->tel_no}}</td>
        <td>{{ $employee->email_ad}}</td>
        <td>{{ $employee->guard_name}}</td>
        <td>{{ $employee->guard_add}}</td>
        <td>{{ $employee->guard_relat}}</td>
        <td>{{ $employee->grd_mobile_no}}</td>

        <td><a href="/admin/employeemaintenance/{{ $employee->id }}/edit" class="btn btn-primary btn-sm"><i class="fa fa-edit"></i></a></td>
        <td>

                {!!Form::open(['action'=>['Admin\EmployeeFilemController@destroy', $employee->id],'method'=>'POST', 'align'=>'right'])!!}
                {{Form::hidden('_method', 'DELETE')}}
                {{Form::button('<i class="fa fa-trash"></i>',['type' => 'submit','class' => 'btn btn-sm btn-danger'])}}
                {!!Form::close()!!}

        </td>
      </tr>
    </tbody>       
      @endforeach

Мой AJAX:

 <script type="text/javascript">

$('#search').on('keyup',function(){
    $value=$(this).val();
        $.ajax({
        type : 'get',
        url  : '{{ URL::to('admin/employeemaintenance/search') }}',
        data : {'search':$value},
        success:function(data){
            var data1 = jQuery.parseJSON(data); 
            if(data1.msg == "success"){
                $.each(eval(data1.data), function(){
                    $('tbody').html(data);
                    })
                },
                //no data found
        }
    });
 })

</script>

1 Ответ

0 голосов
/ 06 декабря 2018

Вы должны сделать два улучшения в своем коде как

1) , либо вам нужно отключить защиту CSRF для вашего маршрута, либо передать параметр "_token": "{{ csrf_token() }}" с вашими данными

2) вы возвращаете ответ (), который не имеет смысла return $employees вместо этого

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...