这是我的路线代码。对于每个单独的前缀,我具有通用的路由名称状态,但是仅使用我在路由的最后定义的名称:
Route::group(['prefix' =>'notice', 'namespace'=>'Admin'], function(){
Route::post('/status','NoticeController@status')->name('status')->middleware('auth');
});
Route::group(['prefix' =>'facility', 'namespace'=>'Admin'], function(){
Route::post('/status','FacilityController@status')->name('status')->middleware('auth');
});
Route::group(['prefix' =>'award', 'namespace'=>'Admin'], function(){
Route::post('/status','AwardController@status')->name('status')->middleware('auth');
});
$(document).ready(function() {
$('.status').click(function(e) {
var id = $(this).val();
$.ajax({
url: "{{route('status')}}",
method: 'post',
data: { id: id, _token: '{{csrf_token()}}' },
success: function(data) {
console.log(id);
},
error: function(response) {
console.log(response);
}
});
});
});
答案 0 :(得分:0)
Laravel中的路由名称是唯一的
路由名称前缀
可以使用name方法在组中的每个路由名称前添加给定字符串。例如,您可能要在所有分组路由的名称前加上admin。给定的字符串将完全按照指定的前缀添加到路由名称中,因此我们将确保在前缀中提供结尾的.
字符
https://laravel.com/docs/5.7/routing#route-group-prefixes
Route::name('notice')->group(['prefix' =>'notice', 'namespace'=>'Admin'], function(){
Route::post('/status','NoticeController@status')->name('status')->middleware('auth');
});
Route::name('facility')->group(['prefix' =>'facility', 'namespace'=>'Admin'], function(){
Route::post('/status','FacilityController@status')->name('status')->middleware('auth');
});
Route::name('award')->group(['prefix' =>'award', 'namespace'=>'Admin'], function(){
Route::post('/status','AwardController@status')->name('status')->middleware('auth');
});
在您的JS部分中使用
{{ route('award.status') }}