Laravel vuejs路线

时间:2017-10-10 15:48:01

标签: php laravel laravel-5

我要做的是构建一个具有查询参数

的laravel axios路由

示例请求看起来像

 axios.get("/user-management/permissions?role=" + this.role)

所以aboe生成

localhost:8000/user-management/permissions?role=admin"//role value changes

现在我被困在设置laravel路线中的实际路线

我有以下

Route::get('permissions/{role}', "PermissionsController@PermissionRole");

上面的路线永远不会被执行。我如何设置我的laravel路线以获得查询字符串参数

2 个答案:

答案 0 :(得分:4)

我觉得你误会了:

路由Route::get('permissions/{role}', "PermissionsController@PermissionRole");将响应/user-management/permissions/admin

格式的请求

您无需指定预期的查询字符串。你需要这条路线:

Route::get('permissions', "PermissionsController@PermissionRole");

然后在你的控制器中:

function PermissionRole(Request $request) {
       $role= $request->get("role"); //admin ?
}

如果您想将角色添加为URL的一部分,您可以这样做:

Route::get('permissions/{role}', "PermissionsController@PermissionRole");

然后您可以访问操作中的角色:

function PermissionRole(Request $request, $role) {
      //$role variable name matches the route name
}

但是,您也可以使用验证强制要求:

function PermissionRole(Request $request) {
       $this->validate($request->all(), [ 
              "role" => "required|in:admin,user" //example
       ]);
}

答案 1 :(得分:1)

路线:

Route::get('permissions/{role}', "PermissionsController@PermissionRole");

永远不会被执行,因为你应该有这样的链接:

localhost:8000/user-management/permissions/admin  //admin is role