【问题标题】:Cannot search using AJAX in a Laravel app无法在 Laravel 应用程序中使用 AJAX 进行搜索
【发布时间】:2019-05-08 04:54:51
【问题描述】:

我无法使用 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>

【问题讨论】:

标签: javascript jquery ajax laravel laravel-5


【解决方案1】:

你必须在你的代码中做两处改进

1)要么你需要为你的路由关闭 CSRF 保护,要么用你的数据传递"_token": "{{ csrf_token() }}" 参数

2) 你正在返回 response(),这没有意义 return $employees 而不是那个

【讨论】:

  • 如何关闭csrf令牌?
  • 使用 csrf 令牌更安全。您可以将以下内容添加到 master.blade.php 的头部 &lt;meta name="csrf-token" content="{{ csrf_token() }}"&gt; 而不是 return response() 您应该使用 return Response::json($employees);
  • @SummerWinter 关闭所有路由的 CSRF,您需要在 kernel.php 中评论它或关闭特定路由的 CSRF,您需要将该路由添加到 @ 中的 except 数组中987654327@
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-20
  • 1970-01-01
  • 2014-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-16
相关资源
最近更新 更多