【发布时间】:2019-06-19 06:54:45
【问题描述】:
我首先使用了 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 (Request-URI Too Long)
如果我切换到 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 超过 8,000 个字符!
【问题讨论】:
-
您能否向我们展示您的控制器,并根据您的 GET 请求添加 id 和小费。尝试将参数添加到 GET Route Route::get('/lista-trajanja-odsustva/tabela/{id}/{tip}', 'TrajanjeOdsustvaController@tabela'); laravel.com/docs/5.7/routing#route-parameters
-
我复制了错误的路线,抱歉,我编辑了我的问题。
-
有没有以
lista-evidencija-radnika-po-danu为前缀的路由 -
不,但是当我将我的 ajax 方法更改为发布并将路由更改为发布时,我必须运行
php artisan optimize才能接受我的更改...
标签: ajax laravel datatables routes