加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 如何构建需要特定URL查询参数的Laravel路由?

发布时间:2020-12-14 19:56:14 所属栏目:大数据 来源:网络整理
导读:假设我有这样的网址: localhost / admin / users / ---主管理员用户页面 localhost / admin / users /?data = refresh ----从该页面发出的典型ajax请求 还有一个像这样的简单控制器: class UsersController extends Controller { public function index()
假设我有这样的网址:

> localhost / admin / users /< ---主管理员用户页面
> localhost / admin / users /?data = refresh< ----从该页面发出的典型ajax请求
还有一个像这样的简单控制器:

class UsersController extends Controller {

     public function index()

         // call some services
         // return a view
     }

     public function dataRefresh {

         // call some services
         // return some JSON
     }
}

这是我的routes.php我正在努力:

Route::get('admin/users',array('as' => 'admin.users','uses' => 'AdminUsersUsersController@index'));
    Route::get('admin/users????',array('before' => 'ajax','as' => 'admin.users','uses' => 'AdminUsersUsersController@dataRefresh'));

在我的第二个路径中我需要做什么才能要求URL查询参数?数据并且还需要将其设置为data = refresh?我如何确保它不与其他路线冲突?

注意:
我知道这可能不被某些人认为是“漂亮的URL”.我在适当的时候实现了漂亮的URL / slugs,但是我也认为在很多情况下查询参数更清晰更清晰(即让用户清楚地了解页面URL的哪一部分用于过滤数据) datagrid …并确保用户可以删除参数而不会导致页面中断或丢失).谷歌自己以及许多其他声誉良好的网站都是这样做的.

注意:我已将ajax路由过滤器应用于第二个路由.我还设置了路由指向我的控制器中的dataRefresh方法.

这是我所拥有的.有任何想法吗?

Laravel不使用uri的查询部分进行路由,对于localhost / admin / users?data = refresh你可以使用这样的东西:
Route::get('admin/users',function(){
    $data = Input::get('data');
});

您可以使用localhost / admin / users?data = refresh向路由发出请求.您可以这样声明您的路线:

Route::get('admin/users',array('before' => 'ajax:data','uses' => 'AdminUsersUsersController@dataRefresh'));

这里,刷新传递给路由过滤器,并在第三个参数($param)中可用,因此您可以在$param中检索刷新.创建过滤器,如下所示:

Route::filter('ajax',function($route,$request,$param){

    // This will give query string 'refresh'
    // if you passed it as http://domain.com?data=refresh
    $data = $request->get($param);

    // You can retrieve the $param,third argument
    // if you pass a parameter,i.e. 'refresh'
    // param will contain 'refresh'
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读