【问题标题】:Route name same for inner part is not working内部部分的路线名称相同不起作用
【发布时间】:2019-02-14 17:12:31
【问题描述】:

这是我的路线代码。我对每个单独的前缀都有共同的路由名称状态,但只使用我最后定义的路由:

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');         
}); 

这是一个普通的js文件:

 $(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);
      }
    });
  });
});

【问题讨论】:

    标签: jquery laravel-5.7


    【解决方案1】:

    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') }}

    【讨论】:

    • 如果我写 {{ route('award.status') }} 那么它只适用于奖励。我也需要它用于同一 JS 的其他两条路线
    • 可以做if条件
    • 如果有任何建议,我该如何申请
    • 假设您的users 表中有列名account_type,然后使用{{ route(Auth::user()->account_type.'.status') }},因此帐户类型参考awardfacilitynotice
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多