2016-09-07 88 views
0

我似乎無法找到問題,希望有人能幫助我。Laravel 5.2路線,可選參數不起作用

我試圖達到我的控制器,然後使用我的參數,但alwasy說它缺少參數。

路線文件:

Route::get('admin/site-settings/global-data/{part?}/', ['as' => 'admin/global-data-edit', 'uses' => 'admin\[email protected]']); 

功能:

public function getGlobalData(Request $request, $part){ 

    $globalData = GlobalData::find(1); 

    switch ($part){ 

     case "content": 

      if($request->ajax()){ 
       return view('admin.site-settings.global-data._ajax_load_content', compact('globalData')); 
      } 

      return view('admin.site-settings.global-data.edit')->with('globalData', $globalData); 

      break; 

     case "logo": 

      if($request->ajax()){ 
       return view('admin.site-settings.global-data._ajax_load_logo', compact('globalData')); 
      } 

      return view('admin.site-settings.global-data.edit')->with('globalData', $globalData); 

      break; 
    } 


} 

,我的觀點:

 function load_data() { 
     $('#load-data').hide().html('<div class="loader"><i class="fa fa-spinner" aria-hidden="true"></i></div>').fadeIn(); 
     var url = '{{route('admin/global-data-edit')}}'; 
     $.ajax({ 
      url: url, 
      type: "GET", 
      success: function(data){ 
       $data = $(data); 
       $('#load-data').hide().html($data).fadeIn(); 
      } 
     }); 
    } 

預先感謝您這麼muych您的時間!

此致敬禮。

回答

1

變化:

public function getGlobalData(Request $request, $part){ 

到:

public function getGlobalData(Request $request, $part = null){ 
+0

謝謝,但其空的,所以這只是迫使空。 – RK4002

+1

如果您希望route參數是可選的,則需要在控制器方法中爲$ part參數提供默認值。如果您不希望它是可選的,則必須刪除路由定義中的問號並始終傳遞它。 – alaric

+0

好吧,我會試試,非常感謝。 – RK4002