我首先使用GET方法,但会出现此错误:
414 (Request-URI Too Long)
我的ajax是这样的:
var table = $('#datatable').DataTable( {
stateSave: true,
scrollX: true,
serverSide: true,
ajax: {
url: '/lista-evidencija-radnika-po-danu/tabela/'+ id + '/' + tip,
type: 'GET',
data: function ( d ) {
d.zakljucano = $('#zakljucano').val();
},
},...
我的路线:
Route::get('/lista-evidencija-radnika-po-danu/tabela/{id}/{tip}', 'EvidencijaRadnikaPoDanuController@tabela_evidencije');
但是随后出现错误: 414(请求URI太长)
如果我切换到POST类型,并且将我的路线切换到张贴,我将收到此错误: 405(不允许使用方法)
var table = $('#datatable').DataTable( {
stateSave: true,
scrollX: true,
serverSide: true,
ajax: {
url: '/lista-evidencija-radnika-po-danu/tabela/'+ id + '/' + tip,
type: 'POST',
data: function ( d ) {
d.zakljucano = $('#zakljucano').val();
},
},...
我的POST路线:
Route::post('/lista-evidencija-radnika-po-danu/tabela/{id}/{tip}', 'EvidencijaRadnikaPoDanuController@tabela_evidencije');
我的控制器
public function tabela_evidencije(Request $request, $id, $tip)
{
$evidencija = EvidencijaRadnikaPoDanu::with('radnik', 'radnik.identifikacija')
->select('evidencija_radnika_po_danus.*', 'radniks.id_identifikacije')
->where('evidencija_radnika_po_danus.id_kompanije', Auth::user()->id_kompanije)
->where('evidencija_radnika_po_danus.id_radnih_dana', $id)
->where('evidencija_radnika_po_danus.tip', $tip);
return datatables()->of($evidencija)
->editColumn('id_radnika', function ($data) {
$puno_ime = $data->radnik->prezime.' '.$data->radnik->ime;
return $puno_ime;
})
->editColumn('id_ime', function ($data) {
return $data->radnik->ime;
})
//pomocu veze izmedju radnika i evidencija pronalazimo identifikacioni broj
->editColumn('id', function ($data) {
return $data->radnik->identifikacija->broj;
})
->editColumn('id_radnika_modal', function ($data) {
return $data->id_radnika;
})
->editColumn('id_modal', function ($data) {
return $data->id;
})
->make(true);
}
在使用GET进行检查后,我的URL超过8000个字符!
答案 0 :(得分:0)
我在<head>
中添加了以下内容:
<meta name="csrf-token" content="{{ csrf_token() }}">
并在我的ajax POST方法中添加了令牌
ajax: {
url: '/lista-evidencija-radnika-po-danu/tabela/'+ id + '/' + tip,
method: 'POST',
'headers': {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
}...
也将我的路线更改为发布
Route::post('/lista-evidencija-radnika-po-danu/tabela/{id}/{tip}', 'EvidencijaRadnikaPoDanuController@tabela_evidencije');
我不得不在控制台中运行此命令
php artisan optimize
为了将我的路线更改为POST路线...