diff --git a/resources/assets/src/js/admin/players.js b/resources/assets/src/js/admin/players.js index e12edad9..5d6e85e7 100644 --- a/resources/assets/src/js/admin/players.js +++ b/resources/assets/src/js/admin/players.js @@ -8,10 +8,13 @@ function initPlayersTable() { const query = location.href.split('?')[1]; $('#player-table').DataTable({ - ajax: url(`admin/player-data${ query ? ('?'+query) : '' }`), + columnDefs: playersTableColumnDefs, scrollY: ($('.content-wrapper').height() - $('.content-header').outerHeight()) * 0.7, fnDrawCallback: () => $('[data-toggle="tooltip"]').tooltip(), - columnDefs: playersTableColumnDefs + ajax: { + url: url(`admin/player-data${ query ? ('?'+query) : '' }`), + type: 'POST' + } }).on('xhr.dt', handleDataTablesAjaxError); } diff --git a/resources/assets/src/js/admin/plugins.js b/resources/assets/src/js/admin/plugins.js index ed0a6136..ec81872a 100644 --- a/resources/assets/src/js/admin/plugins.js +++ b/resources/assets/src/js/admin/plugins.js @@ -6,9 +6,12 @@ if ($('#plugin-table').length === 1) { function initPluginsTable() { $.pluginsTable = $('#plugin-table').DataTable({ - ajax: url('admin/plugins/data'), + columnDefs: pluginsTableColumnDefs, fnDrawCallback: () => $('[data-toggle="tooltip"]').tooltip(), - columnDefs: pluginsTableColumnDefs + ajax: { + url: url('admin/plugins/data'), + type: 'POST' + } }).on('xhr.dt', handleDataTablesAjaxError); } diff --git a/resources/assets/src/js/admin/users.js b/resources/assets/src/js/admin/users.js index bfc491b8..5752afa2 100644 --- a/resources/assets/src/js/admin/users.js +++ b/resources/assets/src/js/admin/users.js @@ -8,11 +8,14 @@ function initUsersTable() { const query = location.href.split('?')[1]; $('#user-table').DataTable({ - ajax: url(`admin/user-data${ query ? ('?'+query) : '' }`), + columnDefs: usersTableColumnDefs, scrollY: ($('.content-wrapper').height() - $('.content-header').outerHeight()) * 0.7, fnDrawCallback: () => $('[data-toggle="tooltip"]').tooltip(), rowCallback: (row, data) => $(row).attr('id', `user-${data.uid}`), - columnDefs: usersTableColumnDefs + ajax: { + url: url(`admin/user-data${ query ? ('?'+query) : '' }`), + type: 'POST' + } }).on('xhr.dt', handleDataTablesAjaxError); } diff --git a/routes/web.php b/routes/web.php index f6f4a128..4afe09f5 100644 --- a/routes/web.php +++ b/routes/web.php @@ -111,20 +111,22 @@ Route::group(['middleware' => 'admin', 'prefix' => 'admin'], function () Route::any('/options', 'AdminController@options'); Route::get('/users', 'AdminController@users'); - Route::get('/user-data', 'AdminController@getUserData'); + Route::any('/user-data', 'AdminController@getUserData'); Route::get('/players', 'AdminController@players'); - Route::get('/player-data', 'AdminController@getPlayerData'); + Route::any('/player-data', 'AdminController@getPlayerData'); Route::get('/user/{uid}', 'AdminController@getOneUser'); - // ajax handlers + // Ajax handlers Route::post('/users', 'AdminController@userAjaxHandler'); Route::post('/players', 'AdminController@playerAjaxHandler'); Route::group(['prefix' => 'plugins'], function () { - Route::get ('/data', 'PluginController@getPluginData'); Route::any ('/market', 'PluginController@showMarket'); + // Allow using POST method to get data for DataTables, + // otherwise it may cause a "414 Request-URI Too Large" error. + Route::any ('/data', 'PluginController@getPluginData'); Route::get ('/manage', 'PluginController@showManage'); Route::post('/manage', 'PluginController@manage'); Route::any ('/config/{name}', 'PluginController@config');