laravel5 URL跳轉成多級目錄的解決方法

背景:最近公司在開發一個預算過程管理系統,使用的是laravel5.2的框架,在框架使用的模板裏面遇到了一些get傳參後,再進行跳轉就會多一級URL目錄的問題,最後在網上找了許久,得知了解決辦法,爲了可能有同樣問題的猿友,所以小猿就在這兒分享一下,希望可以幫到大家吧。

laravel官方文檔上的laravel get傳參是這樣的:

路由層:

Route::get('modifyAssets/{id}','BudgetAsssetsController@modifyAssets');

翻譯-->

Route::get('路由名/{參數}',控制器名稱@控制器裏的方法');

視圖層:

<a href="modifyAssets/id">修改</a>

控制器層:

  public function modifyITCost(Request $request){
            dd($request->route( 'id' ));

           echo"<script>alert('修改成功');window.location.href = 'ITcostManagement';</script>";
    }

這樣寫的話,URL返回的目錄就會多一層,如:http://www.baidu.com/modifyAssets/ITcostManagement 而不是您想要的 http://www.baidu.com/ITcostManagement ;這個不是框架本身的錯,是因爲http解析跳轉的時候,就已經把“/id”當成目錄了,而http的跳轉默認是返回上一級目錄後再追加重新訪問;既然現在已經知道了問題原因,哪現在就要想辦法解決了。

解決辦法:

路由層:

Route::get('modifyAssets','BudgetAsssetsController@modifyAssets')->name('modifyAssets');

翻譯-->

Route::get('路由名',控制器名稱@控制器裏的方法')->name('路由輔助名');

視圖層:

<a href="{{route('cc',array('id'=>1))}}">修改</a>

控制器層:

  public function modifyITCost(Request $request){
            dd($request->input('id'));

           echo"<script>alert('修改成功');window.location.href = 'ITcostManagement';</script>";
    }

這樣url訪問的鏈接就是我們常見的:http://www.baidu.com/modifyITCost?id=2了;->name();大家不明白的可以上網查一下,這個是laravel路由的輔助函數;剩下的大家就正常操作就可以了。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章