为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 数据表未显示

Laravel 数据表未显示

PHP
一只斗牛犬 2022-06-17 16:56:07
我正在使用带有 laravel 5.8 的 yajra laravel 数据表包。数据表未显示在我的视图中。我在 jquery 之后添加了数据表。我无法弄清楚问题出在哪里。帮我解决这个问题。谢谢。数据表脚本:$(document).ready( function () {    $('#appointment-datatable').DataTable({        processing: true,        serverSide: true,        ajax: '/get_appointment_data',        columns:         [            {                data: 'id',                 name: 'id'            },            {                data: 'date',                 name: 'date'            },            {                data: 'time',                 name: 'time'            },            {                data: 'payment_status',                 name: 'payment_status'            }        ]    })} );控制器代码:    public function getAppointmentData(Request $request)    {        if ($request->ajax())        {            $getData = DB::table('jobs')->select('id', 'date', 'time', 'payment_status', 'amount')->get();            $datatable = DataTables::of($json)->make(true);            return $datatable;        }     }    public function ShowAppointments(Request $request)    {        return view('admin.show_appointments');    }路线:Route::get('/show_appointments', 'NavigationController@ShowAppointments')->name('show_appointments');Route::get('/get_appointment_data', 'NavigationController@getAppointmentData');我想在 admin.show_appointments 视图中显示数据表返回 ShowAppointments 方法视图中的 HTML:        <table class="table" id="appointment-datatable">            <thead>              <tr>                <th scope="col">id</th>                <th scope="col">date</th>                <th scope="col">time</th>                <th scope="col">payment_status</th>                <th scope="col">amount</th>              </tr>            </thead>       </table>我以前从未使用过数据表,而且我是 laravel 的新手。感谢你的帮助
查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

像这样进行更改:

希望它会帮助你


路线文件:


Route::get('/appointments','NavigationController@Appointments')->name('appointments');

Html 代码:

把它放在你的 head 部分


<meta name="csrf-token" content="{{ csrf_token() }}">


这是你的桌子:


<table class="table" id="appointment-datatable">

    <thead>

      <tr>

        <th scope="col">id</th>

        <th scope="col">date</th>

        <th scope="col">time</th>

        <th scope="col">payment_status</th>

        <th scope="col">amount</th>

      </tr>

    </thead>

</table>

控制器代码:


public function Appointments(Request $request)

    {

        if ($request->ajax()) {

            $data =  DB::table('jobs')->select('id', 'date', 'time', 'payment_status', 'amount')->get();

            return Datatables::of($data)

                    ->addIndexColumn()

                    ->make(true);

        }


        return view('admin.show_appointments');

    }

阿贾克斯代码:


$(function () {


    $('#appointment-datatable').DataTable({

        processing: true,

        serverSide: true,

        ajax: "{{ route('appointments') }}",

        columns: [

            {data: 'id', name: 'id'},

            {data: 'date', name: 'date'},

            {data: 'time', name: 'time'},

            {data: 'payment_status', name: 'payment_status'},

        ]

    });


  });

我希望它会帮助你


查看完整回答
反对 回复 2022-06-17
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

尝试在标题中添加令牌


<meta name="csrf-token" content="{{ csrf_token() }}" />

并在您的 ajaxSetup 或数据中添加令牌


$.ajaxSetup({

    headers: {

        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')

    }

});

还要更改 getAppointmentData 函数。


public function getAppointmentData(Request $request)

    {

        if ($request->ajax())

        {

            $getData = DB::table('jobs')->select('id', 'date', 'time', 

            'payment_status', 'amount');

            return DataTables::of($getData)->make(true);

        } 

    }


查看完整回答
反对 回复 2022-06-17
  • 2 回答
  • 0 关注
  • 210 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号