【问题标题】:CSRF token mismatched when using ajax with datatables in laravel 6.2在 laravel 6.2 中将 ajax 与数据表一起使用时 CSRF 令牌不匹配
【发布时间】:2020-03-05 06:19:56
【问题描述】:

我正在尝试从数据表中的数据生成 CSV、excel 和 pdf 文件。

我的代码如下-

在 web.php 中

Route::post('/admin/server', 'ExpenseController@exporter');

在 ExpenseController 中

public function exporter(){


    $table = 'products';


    $primaryKey = 'id';


    $columns = array(
    array( 'db' => 'product', 'dt' => 0 ),
    array( 'db' => 'vendor', 'dt' => 1 ),
    array( 'db' => 'colors', 'dt' => 2 ),
    array( 'db' => 'sizes', 'dt' => 2 ),
    array( 'db' => 'amount paid', 'dt' => 2 ),
    array( 'db' => 'expected profit', 'dt' => 2 )
    );


    $sql_details = array(
    'user' => 'root',
    'pass' => '',
    'db' => 'ecom',
    'host' => 'localhost'
    );


    require( 'vendor/DataTables/server-side/scripts/ssp.class.php' );

    echo json_encode(
    SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
    );
}

最后在脚本标签中

$(document).ready(function () {
var table = $('#exporter-table').DataTable({
    "paging": true,
    "processing": true,
    "serverSide": true,
    'serverMethod': 'POST',
    "ajax": "/admin/server",
    "data": {
        "_token": "{{ csrf_token() }}"
    },
    dom: 'Bfrtip',
    buttons: ['csv', 'excel', 'pdf']
}
);
});

每次加载页面时,即使令牌正确,我也会收到 CSRF 令牌不匹配的错误。

应该怎么做?

【问题讨论】:

    标签: php ajax datatables laravel-6.2 csrf-token


    【解决方案1】:

    请试试这个:

     'data': function (d) {
                    d._token = $("input[name=_token]").val();
    
                }
    

    【讨论】:

      猜你喜欢
      • 2020-01-28
      • 2017-01-25
      • 2019-02-27
      • 2018-07-10
      • 2015-12-20
      • 2014-11-04
      • 1970-01-01
      • 2020-07-08
      • 2016-12-10
      相关资源
      最近更新 更多