Laravel-datatables: [7.0] POSTajaxリクエストを介してDataTableサービスのサポートを追加します。

作成日 2016年01月19日  ·  11コメント  ·  ソース: yajra/laravel-datatables

問題#341の議論に関連して。

enhancement

最も参考になるコメント

非常に簡単な修正があります。
サービス実装のhtmlビルダーメソッド
`` `php
パブリック関数html()
{{
$ table = $ this-> builder()
-> columns($ this-> getColumns())
-> ajax(['type' => 'POST'、 'data' => '{"_ method": "GET"}']);

        $table->addAction(['width' => '80px']);

    return $table->parameters($this->getBuilderParameters());
}

`

全てのコメント11件

このpostメソッドの変更を変更/実装しましたか?
エクスポートオプション(pdf、xls、csv)で機能しないため、POSTメソッドをいつ実装しますか?
現在、GETメソッドが使用されています。 POSTに変更すると、エクスポートオプションページが空白のままになります。
ありがとう

@nikunjkabariyaこれはまだ実装されていません。 できれば、PRは大歓迎です。 ありがとう!

本当にこれを使うことができます..それは私に多くの痛みを引き起こしています:(

@ mastrip2ちょうどそれを釘付けにしました。 初期化を次のように変更しました。

var tableIndex = $( '#tableIndex')。DataTable({
"注文":[[0、 "asc"]]、
"aLengthMenu":[[5、10、25]、[5、10、25]]、
"iDisplayLength":10、
"dateFormat": 'yyyy-mm-dd'、
「処理」:true、
「serverSide」:true、
"ajax":{'url': '{{route( "clinics.api.laboratoryIndex")}}'、'タイプ': 'POST'、'ヘッダー':{'X-CSRF-TOKEN': '{{csrf_token()}}'}}、
"列":[
{データ: '製品'、名前: '製品'}、

]、
"columnDefs":[
{"検索可能":false、 "bSortable":false、 "ターゲット":0}
]、
言語: {
"sProcessing": "Processing ..."、
"sLengthMenu": "メニューレコードを表示"、
"sZeroRecords": "結果が見つかりません"、
"sEmptyTable": "このテーブルで利用できるデータはありません"、
"sInfo": "合計レコードの開始から終了までのレコードを表示しています"、
"sInfoEmpty": "合計0レコードのうち0から0までのレコードを表示しています"、
"sInfoFiltered": "(合計MAXレコードをフィルタリング)"、
"sInfoPostFix": ""、
"sSearch": "検索:"、
"sUrl": ""、
"sInfoThousands": "、"、
"sLoadingRecords": "読み込み中..."、
"oPaginate":{
「sFirst」:「First」、
"sLast": "Last"、
「sNext」:「Next」、
「sPrevious」:「Previous」
}、
"oAria":{
"sSortAscending": ":アクティブ化して列を昇順で並べ替えます"、
"sSortDescending": ":アクティブ化して列を降順で並べ替えます"
}
}
});

問題は、getパラメーターの長さだと思います。 したがって、POSTは問題になりませんでした

@gadiusこのパッケージのデフォルトの実装を「サービスとして」使用して、これらの変更をどこで行ったかを説明できますか?

私のtable.blade.phpは単に保持します

<style>
    th, td { white-space: nowrap; }
</style>

{!! $dataTable->table(['width' => '100%']) !!}

@push('scripts')
    <link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.0.3/css/buttons.dataTables.min.css">
    <script src="https://cdn.datatables.net/buttons/1.0.3/js/dataTables.buttons.min.js"></script>
    <script src="/vendor/datatables/buttons.server-side.js"></script>
    {!! $dataTable->scripts() !!}
<strong i="8">@endpush</strong>

したがって、これを機能させるために変更をどこに追加するのかわかりません。

テンプレートスタブファイルの1つを編集する必要がありましたか? もしそうなら共有していただけませんか、ありがとう

@ vesper8ビューにテーブルを作成し、投稿したjavascriptを使用して機能させる必要があります。

複製し、#826に実装されます。

非常に簡単な修正があります。
サービス実装のhtmlビルダーメソッド
`` `php
パブリック関数html()
{{
$ table = $ this-> builder()
-> columns($ this-> getColumns())
-> ajax(['type' => 'POST'、 'data' => '{"_ method": "GET"}']);

        $table->addAction(['width' => '80px']);

    return $table->parameters($this->getBuilderParameters());
}

`

これは、laravel5.3およびdatatable6の「X-CSRF-TOKEN」:「{{csrf_token()}}」で機能します。*

`` ``
$( '#payments')。dataTable({
処理:true、
serverSide:true、
"ajax":{
url: '{{Url(' payments_history_table ')}}'、
タイプ:「POST」、
'ヘッダー':{
'X-CSRF-TOKEN': '{{csrf_token()}}'
}、
'data':dataInfo、
}、
"列":[
{データ: 'payment_id'、名前: 'payment_id'}、
{データ: 'transactions_id'、名前: 'transactions_id'}、
{"データ": '金額'、 "名前": '金額'}、
{"データ": 'allowed_pa​​yment_methods_id'、 "名前": 'allowed_pa​​yment_methods_id'}、
{"データ": 'user_id'、 "名前": 'user_id'}、
{"データ": 'guest_donation_id'、 "名前": 'guest_donation_id'}、
{"data": 'transactions_types_id'、 "name": 'transactions_types_id'}、
{"データ": 'created_at'、 "名前": 'created_at'}、
{"データ": 'updated_at'、 "名前": 'updated_at'}
]、
"columnDefs":[
{"検索可能":false、 "bSortable":false、 "ターゲット":0}
]、

    });

`` `

@herzcthu今日あなたの解決策に気づきました。 素敵なヒントと賢いもの。 ありがとう!

@ anik587私は通常、このトークンをグローバルに設定します。

    // Laravel ajax-token integration
    var _token = $('meta[name="csrf-token"]').attr('content');
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': _token
        }
    });

http://datatables.net/tn/7'X-CSRF-TOKEN 'を追加することでエラーが修正されました:' {{csrf_token()}} 'これを以下のgvenとして

$( '#payments')。dataTable({
処理:true、
serverSide:true、
"ajax":{
url: '{{Url(' payments_history_table ')}}'、
タイプ:「POST」、
'ヘッダー':{
'X-CSRF-TOKEN': '{{csrf_token()}}'
}、
'data':dataInfo、
}、
"列":[
{データ: 'payment_id'、名前: 'payment_id'}、
{データ: 'transactions_id'、名前: 'transactions_id'}、
{"データ": '金額'、 "名前": '金額'}、
{"データ": 'allowed_pa​​yment_methods_id'、 "名前": 'allowed_pa​​yment_methods_id'}、
{"データ": 'user_id'、 "名前": 'user_id'}、
{"データ": 'guest_donation_id'、 "名前": 'guest_donation_id'}、
{"data": 'transactions_types_id'、 "name": 'transactions_types_id'}、
{"データ": 'created_at'、 "名前": 'created_at'}、
{"データ": 'updated_at'、 "名前": 'updated_at'}
]、
"columnDefs":[
{"検索可能":false、 "bSortable":false、 "ターゲット":0}
]、

    });
このページは役に立ちましたか?
0 / 5 - 0 評価