DataTables warning: table id=sales-table – Ajax error. For more information about this error, please see http://datatables.net/tn/7

I am new and i have faced this error on my application. When operate this application on localhost it will works fine but when i try to host this application on domain server it showing me like this error kindly give me a solution so i can do it thanks.

Following are my code

Screenshot 01

Screenshot 02

My Route file code

<?php

use IlluminateSupportFacadesRoute;
use AppHttpControllersHomeController;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
*/

Route::get('/', function () {
    return view('auth.login');
})->middleware('guest');

Auth::routes(['register' => false]);

Route::group(['middleware' => 'auth'], function () {
    Route::get('/home', 'HomeController@index')
        ->name('home');

    Route::get('/sales-purchases/chart-data', 'HomeController@salesPurchasesChart')
        ->name('sales-purchases.chart');

    Route::get('/current-month/chart-data', 'HomeController@currentMonthChart')
        ->name('current-month.chart');

    Route::get('/payment-flow/chart-data', 'HomeController@paymentChart')
        ->name('payment-flow.chart');
        // routes/web.php

Route::get('/export-cash-flow-overview', [HomeController::class, 'exportCashFlowOverview'])
->name('exportCashFlowOverview');

});

My Controller file code

 <?php
    
    namespace ModulesSaleHttpControllers;
    
    use ModulesSaleDataTablesSalesDataTable;
    use GloudemansShoppingcartFacadesCart;
    use IlluminateRoutingController;
    use IlluminateSupportFacadesDB;
    use IlluminateSupportFacadesGate;
    use ModulesPeopleEntitiesCustomer;
    use ModulesProductEntitiesProduct;
    use ModulesSaleEntitiesSale;
    use ModulesSaleEntitiesSaleDetails;
    use ModulesSaleEntitiesSalePayment;
    use ModulesSaleHttpRequestsStoreSaleRequest;
    use ModulesSaleHttpRequestsUpdateSaleRequest;
    
    class SaleController extends Controller
    {
    
        public function index(SalesDataTable $dataTable) {
            abort_if(Gate::denies('access_sales'), 403);
    
            return $dataTable->render('sale::index');
        }
    
    
        public function create() {
            abort_if(Gate::denies('create_sales'), 403);
    
            Cart::instance('sale')->destroy();
    
            return view('sale::create');
        }
    
    
        public function store(StoreSaleRequest $request) {
            DB::transaction(function () use ($request) {
                $due_amount = $request->total_amount - $request->paid_amount;
    
                if ($due_amount == $request->total_amount) {
                    $payment_status = 'Unpaid';
                } elseif ($due_amount > 0) {
                    $payment_status = 'Partial';
                } else {
                    $payment_status = 'Paid';
                }
    
                $sale = Sale::create([
                    'date' => $request->date,
                    'customer_id' => $request->customer_id,
                    'customer_name' => Customer::findOrFail($request->customer_id)->customer_name,
                    'tax_percentage' => $request->tax_percentage,
                    'discount_percentage' => $request->discount_percentage,
                    'shipping_amount' => $request->shipping_amount * 100,
                    'paid_amount' => $request->paid_amount * 100,
                    'total_amount' => $request->total_amount * 100,
                    'due_amount' => $due_amount * 100,
                    'status' => $request->status,
                    'payment_status' => $payment_status,
                    'payment_method' => $request->payment_method,
                    'note' => $request->note,
                    'tax_amount' => Cart::instance('sale')->tax() * 100,
                    'discount_amount' => Cart::instance('sale')->discount() * 100,
                ]);
    
                foreach (Cart::instance('sale')->content() as $cart_item) {
                    SaleDetails::create([
                        'sale_id' => $sale->id,
                        'product_id' => $cart_item->id,
                        'product_name' => $cart_item->name,
                        'product_code' => $cart_item->options->code,
                        'quantity' => $cart_item->qty,
                        'price' => $cart_item->price * 100,
                        'unit_price' => $cart_item->options->unit_price * 100,
                        'sub_total' => $cart_item->options->sub_total * 100,
                        'product_discount_amount' => $cart_item->options->product_discount * 100,
                        'product_discount_type' => $cart_item->options->product_discount_type,
                        'product_tax_amount' => $cart_item->options->product_tax * 100,
                    ]);
    
                    if ($request->status == 'Shipped' || $request->status == 'Completed') {
                        $product = Product::findOrFail($cart_item->id);
                        $product->update([
                            'product_quantity' => $product->product_quantity - $cart_item->qty
                        ]);
                    }
                }
    
                Cart::instance('sale')->destroy();
    
                if ($sale->paid_amount > 0) {
                    SalePayment::create([
                        'date' => $request->date,
                        'reference' => 'INV/'.$sale->reference,
                        'amount' => $sale->paid_amount,
                        'sale_id' => $sale->id,
                        'payment_method' => $request->payment_method
                    ]);
                }
            });
    
            toast('Sale Created!', 'success');
    
            return redirect()->route('sales.index');
        }
    
    
        public function show(Sale $sale) {
            abort_if(Gate::denies('show_sales'), 403);
    
            $customer = Customer::findOrFail($sale->customer_id);
    
            return view('sale::show', compact('sale', 'customer'));
        }
    
    
        public function edit(Sale $sale) {
            abort_if(Gate::denies('edit_sales'), 403);
    
            $sale_details = $sale->saleDetails;
    
            Cart::instance('sale')->destroy();
    
            $cart = Cart::instance('sale');
    
            foreach ($sale_details as $sale_detail) {
                $cart->add([
                    'id'      => $sale_detail->product_id,
                    'name'    => $sale_detail->product_name,
                    'qty'     => $sale_detail->quantity,
                    'price'   => $sale_detail->price,
                    'weight'  => 1,
                    'options' => [
                        'product_discount' => $sale_detail->product_discount_amount,
                        'product_discount_type' => $sale_detail->product_discount_type,
                        'sub_total'   => $sale_detail->sub_total,
                        'code'        => $sale_detail->product_code,
                        'stock'       => Product::findOrFail($sale_detail->product_id)->product_quantity,
                        'product_tax' => $sale_detail->product_tax_amount,
                        'unit_price'  => $sale_detail->unit_price
                    ]
                ]);
            }
    
            return view('sale::edit', compact('sale'));
        }
    
    
        public function update(UpdateSaleRequest $request, Sale $sale) {
            DB::transaction(function () use ($request, $sale) {
    
                $due_amount = $request->total_amount - $request->paid_amount;
    
                if ($due_amount == $request->total_amount) {
                    $payment_status = 'Unpaid';
                } elseif ($due_amount > 0) {
                    $payment_status = 'Partial';
                } else {
                    $payment_status = 'Paid';
                }
    
                foreach ($sale->saleDetails as $sale_detail) {
                    if ($sale->status == 'Shipped' || $sale->status == 'Completed') {
                        $product = Product::findOrFail($sale_detail->product_id);
                        $product->update([
                            'product_quantity' => $product->product_quantity + $sale_detail->quantity
                        ]);
                    }
                    $sale_detail->delete();
                }
    
                $sale->update([
                    'date' => $request->date,
                    'reference' => $request->reference,
                    'customer_id' => $request->customer_id,
                    'customer_name' => Customer::findOrFail($request->customer_id)->customer_name,
                    'tax_percentage' => $request->tax_percentage,
                    'discount_percentage' => $request->discount_percentage,
                    'shipping_amount' => $request->shipping_amount * 100,
                    'paid_amount' => $request->paid_amount * 100,
                    'total_amount' => $request->total_amount * 100,
                    'due_amount' => $due_amount * 100,
                    'status' => $request->status,
                    'payment_status' => $payment_status,
                    'payment_method' => $request->payment_method,
                    'note' => $request->note,
                    'tax_amount' => Cart::instance('sale')->tax() * 100,
                    'discount_amount' => Cart::instance('sale')->discount() * 100,
                ]);
    
                foreach (Cart::instance('sale')->content() as $cart_item) {
                    SaleDetails::create([
                        'sale_id' => $sale->id,
                        'product_id' => $cart_item->id,
                        'product_name' => $cart_item->name,
                        'product_code' => $cart_item->options->code,
                        'quantity' => $cart_item->qty,
                        'price' => $cart_item->price * 100,
                        'unit_price' => $cart_item->options->unit_price * 100,
                        'sub_total' => $cart_item->options->sub_total * 100,
                        'product_discount_amount' => $cart_item->options->product_discount * 100,
                        'product_discount_type' => $cart_item->options->product_discount_type,
                        'product_tax_amount' => $cart_item->options->product_tax * 100,
                    ]);
    
                    if ($request->status == 'Shipped' || $request->status == 'Completed') {
                        $product = Product::findOrFail($cart_item->id);
                        $product->update([
                            'product_quantity' => $product->product_quantity - $cart_item->qty
                        ]);
                    }
                }
    
                Cart::instance('sale')->destroy();
            });
    
            toast('Sale Updated!', 'info');
    
            return redirect()->route('sales.index');
        }
    
    
        public function destroy(Sale $sale) {
            abort_if(Gate::denies('delete_sales'), 403);
    
            $sale->delete();
    
            toast('Sale Deleted!', 'warning');
    
            return redirect()->route('sales.index');
        }
    }
    

    My SalesDataTable.php


<?php

namespace ModulesSaleDataTables;

use ModulesSaleEntitiesSale;
use YajraDataTablesHtmlButton;
use YajraDataTablesHtmlColumn;
use YajraDataTablesHtmlEditorEditor;
use YajraDataTablesHtmlEditorFields;
use YajraDataTablesServicesDataTable;

class SalesDataTable extends DataTable
{

    public function dataTable($query)
    {
        return datatables()
            ->eloquent($query)
            ->addColumn('total_amount', function ($data) {
                return format_currency($data->total_amount);
            })
            ->addColumn('paid_amount', function ($data) {
                return format_currency($data->paid_amount);
            })
            ->addColumn('due_amount', function ($data) {
                return format_currency($data->due_amount);
            })
            ->addColumn('status', function ($data) {
                return view('sale::partials.status', compact('data'));
            })
            ->addColumn('payment_status', function ($data) {
                return view('sale::partials.payment-status', compact('data'));
            })
            ->addColumn('action', function ($data) {
                return view('sale::partials.actions', compact('data'));
            });
    }

    public function query(Sale $model)
    {
        return $model->newQuery();
    }

    public function html()
    {
        return $this->builder()
            ->setTableId('sales-table')
            ->columns($this->getColumns())
            ->minifiedAjax()
            ->dom("<'row'<'col-md-3'l><'col-md-5 mb-2'B><'col-md-4'f>> .
                                'tr' .
                                <'row'<'col-md-5'i><'col-md-7 mt-2'p>>")
            ->orderBy(8)
            ->buttons(
                Button::make('excel')
                    ->text('<i class="bi bi-file-earmark-excel-fill"></i> Excel'),
                Button::make('print')
                    ->text('<i class="bi bi-printer-fill"></i> Print'),
                Button::make('reset')
                    ->text('<i class="bi bi-x-circle"></i> Reset'),
                Button::make('reload')
                    ->text('<i class="bi bi-arrow-repeat"></i> Reload')
            );
    }

    protected function getColumns()
    {
        return [
            Column::make('reference')
                ->className('text-center align-middle'),

            Column::make('date')
                ->className('text-center align-left'),

            Column::make('customer_name')
                ->title('Customer')
                ->className('text-center align-middle'),

            // Column::computed('status')
            //     ->className('text-center align-middle'),

            Column::computed('total_amount')
                ->className('text-center align-middle'),

            Column::computed('paid_amount')
                ->className('text-center align-middle'),

            Column::computed('due_amount')
                ->className('text-center align-middle'),

            Column::computed('payment_status')
                ->className('text-center align-middle'),

            Column::computed('action')
                ->exportable(false)
                ->printable(false)
                ->className('text-center align-middle'),

            Column::make('created_at')
                ->visible(false)
        ];
    }

    protected function filename()
    {
        return 'Sales_' . date('YmdHis');
    }
}
 
      

MY Model file code

<?php

namespace ModulesSaleEntities;

use IlluminateDatabaseEloquentModel;
use IlluminateDatabaseEloquentFactoriesHasFactory;

class Sale extends Model
{
    use HasFactory;

    protected $guarded = [];

    public function saleDetails() {
        return $this->hasMany(SaleDetails::class, 'sale_id', 'id');
    }

    public function salePayments() {
        return $this->hasMany(SalePayment::class, 'sale_id', 'id');
    }

    public static function boot() {
        parent::boot();

        static::creating(function ($model) {
            $number = Sale::max('id') + 1;
            $model->reference = make_reference_id('SL', $number);
        });
    }

    public function scopeCompleted($query) {
        return $query->where('status', 'Completed');
    }

    public function getShippingAmountAttribute($value) {
        return $value / 100;
    }

    public function getPaidAmountAttribute($value) {
        return $value / 100;
    }

    public function getTotalAmountAttribute($value) {
        return $value / 100;
    }

    public function getDueAmountAttribute($value) {
        return $value / 100;
    }

    public function getTaxAmountAttribute($value) {
        return $value / 100;
    }

    public function getDiscountAmountAttribute($value) {
        return $value / 100;
    }
}

MY View Resource file code

@extends('layouts.app')

@section('title', 'Sales')

@section('third_party_stylesheets')
    <link rel="stylesheet" href="https://cdn.datatables.net/1.10.25/css/dataTables.bootstrap4.min.css">
@endsection

@section('breadcrumb')
    <ol class="breadcrumb border-0 m-0">
        <li class="breadcrumb-item"><a href="{{ route('home') }}">Home</a></li>
        <li class="breadcrumb-item active">Sales</li>
    </ol>
@endsection

@section('content')
    <div class="container-fluid">
        <div class="row">
            <div class="col-12">
                <div class="card">
                    <div class="card-body">
                        <a href="{{ route('sales.create') }}" class="btn btn-primary">
                            Add Sale <i class="bi bi-plus"></i>
                        </a>

                        <hr>

                        <div class="table-responsive">
                            {!! $dataTable->table() !!}
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
@endsection

@push('page_scripts')
    {!! $dataTable->scripts() !!}
@endpush