如何从按钮单击发送数据到laravel 4中的控制器

时间:2014-03-20 04:51:12

标签: php laravel laravel-4

我试图在按钮点击时将按钮的id数据发送回我的一个控制器。根据发送的id,我希望控制器功能将用户重定向到不同的视图。

按钮:

<a href="/oauth/facebook" id="{{$artist->id}}" class="sign">

/ oauth / facebook route:

Route::get('oauth/{provider}', 'Oauth2Controller@action_session')->before('guest');

Oauth2Controller中的函数action_session:

public function action_session($provider) {

        $id=Input::get('id');

        if($id > 5) {
                return Redirect::to('/fans');
                }
                else {
                return Redirect::to('/artists');
                }
}

我尝试使用ajax但似乎在ajax请求可以通过之前首先在按钮点击上调用oauth / facebook路由(因此当控制器运行时$ id字段为空)。有没有办法做到这一点?谢谢。

1 个答案:

答案 0 :(得分:0)

使用这种方法你不会在输入中找到id,但你可以使用一个可选的扩展路由(除非你想要所有提供者)这样的参数:

路线

Route::get('oauth/{provider}/{id?}', 'Oauth2Controller@action_session')->before('guest');

控制器

public function action_session($provider, $id = null) {

    if ($id > 5) {
        return Redirect::to('fans');
    } else {
        return Redirect::to('artists');
    }
}

按钮

<a href="/oauth/facebook/{{$artist->id}}" class="sign">...</a>