محمد نمازی
4 سال پیش توسط محمد نمازی مطرح شد
2 پاسخ

مشکل در json DataTable

باسلام
میخوام اطلاعات کاربران رو بصورت دیتاتیبل نمایش بدم، اما این ارور رو دریافت میکنم :

 POST http://127.0.0.1:8000/management/users 419 (unknown status)

در ضمن در قسمت هدر هم این رو نوشتم :

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

کد js :

"use strict";
// Class definition

var KTDatatableJsonRemoteDemo = function () {
    // Private functions

    // basic demo
    var demo = function () {

        var datatable = $('.kt-datatable').KTDatatable({
            // datasource definition
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            data: {
                type: 'remote',
                method: 'GET',
                JSON: '/management/json',
                pageSize: 10,
            },

            // layout definition
            layout: {
                scroll: true, // enable/disable datatable scroll both horizontal and vertical when needed.
                footer: false // display/hide footer
            },

            // column sorting
            sortable: true,

            pagination: true,

            search: {
                input: $('generalSearch')
            },

            // columns definition
            columns: [
                {
                    field: 'id',
                    title: '',
                    sortable: true,
                    width: 20,
                    type: 'number',
                    selector: {class: 'kt-checkbox--solid'},
                    textAlign: 'center',
                }, {
                    field: 'email',
                    title: 'پست الکترونیکی',
                }, {
                    field: 'mobile',
                    title: 'شماره همراه',
                }, {
                    field: 'created_at',
                    title: 'تاریخ ایجاد',
                    type: 'date',
                    format: 'MM/DD/YYYY',
                }, {
                    field: 'updated_at',
                    title: 'بروز شده در',
                    type: 'date',
                    format: 'MM/DD/YYYY',
                },{
                    field: 'Status',
                    title: 'وضعیت',
                    // callback function support for column rendering
                    template: function(row) {
                        var status = {
                            1: {'title': 'Pending', 'class': 'kt-badge--brand'},
                            2: {'title': 'Delivered', 'class': ' kt-badge--danger'},
                            3: {'title': 'Canceled', 'class': ' kt-badge--primary'},
                            4: {'title': 'Success', 'class': ' kt-badge--success'},
                            5: {'title': 'Info', 'class': ' kt-badge--info'},
                            6: {'title': 'Danger', 'class': ' kt-badge--danger'},
                            7: {'title': 'Warning', 'class': ' kt-badge--warning'},
                        };
                        return '<span class="kt-badge ' + status[row.Status].class + ' kt-badge--inline kt-badge--pill">' + status[row.Status].title + '</span>';
                    },
                }, {
                    field: 'Actions',
                    title: 'عملیات',
                    sortable: false,
                    width: 110,
                    autoHide: false,
                    overflow: 'visible',
                    template: function() {
                        return '\
                        <div class="dropdown">\
                            <a href="javascript:;" class="btn btn-sm btn-clean btn-icon btn-icon-md" data-toggle="dropdown">\
                                <i class="la la-ellipsis-h"></i>\
                            </a>\
                            <div class="dropdown-menu dropdown-menu-right">\
                                <a class="dropdown-item" href=""><i class="la la-edit"></i> Edit Details</a>\
                                <a class="dropdown-item" href=""><i class="la la-leaf"></i> Update Status</a>\
                                <a class="dropdown-item" href=""><i class="la la-print"></i> Generate Report</a>\
                            </div>\
                        </div>\
                        <a href="javascript:;" class="btn btn-sm btn-clean btn-icon btn-icon-md" title="Edit details">\
                            <i class="la la-edit"></i>\
                        </a>\
                        <a href="javascript:;" class="btn btn-sm btn-clean btn-icon btn-icon-md" title="Delete">\
                            <i class="la la-trash"></i>\
                        </a>\
                    ';
                    },
                }],

        });

    $('kt_form_status').on('change', function() {
      datatable.search($(this).val().toLowerCase(), 'Status');
    });

    $('kt_form_type').on('change', function() {
      datatable.search($(this).val().toLowerCase(), 'Type');
    });

    $('kt_form_status,kt_form_type').selectpicker();

    };

    return {
        // public functions
        init: function () {
            demo();
        }
    };
}();

jQuery(document).ready(function () {
    KTDatatableJsonRemoteDemo.init();
});

روت :

Route::get('management/json', 'UserController@DataToJson')->name('management.users.tojson');

ثبت پرسش جدید
امین محمدزاده
تخصص : برنامه نویسی وب - Laravel
@amin.webdesign 4 سال پیش مطرح شد
0

توی روتر لاراول چک کنید که route مورد نظر هم از نوع get باشه چون شما درخواست ایجکس رو به صورت get دارید میفرستید یا اینکه اگه route مورد نظر به صورت post هست درخواسا ایجکس رو به صورت POST بفرستید.
و اینکه در صورت ارسال از نوع get نیازی به csrf token نیست


محمد نمازی
تخصص : توسعه دهنده وب
@mnamazi 4 سال پیش مطرح شد
0

@amin.webdesign
کد روت و js رو گذاشتم و در هردو مشخص شده که از نوع get هستن


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام