链接到Laravel中的Action Post方法

时间:2016-11-22 06:55:34

标签: laravel

如何通过链接到操作将变量传递给POST方法中的控制器。 这是我的刀片代码

{{ link_to_action('userviewController@getschoolbranch',$user->userId,['getid' => $user->userNo]) }}

这些使得网址像http :: // localhost / laravel / userview?getid = 001 但我想从刀片服务器传递POST方法中的变量。

2 个答案:

答案 0 :(得分:2)

如果你想从POST<a></a>,你必须做一个AJAX帖子。 这是一个例子。

HTML <a href="#" user-id="001">Get User</a> 请注意自定义属性user-id

JAVASCRIPT(需要Jquery)

$('a[user-id]').click(function(){
 var user = $(this).attr('user-id');
$.ajax({
            url: '/get-user',
            type: 'POST',
            dataType: 'json',
            data: {userID: user},
            success: function(data){
                alert(data['success']);
            }
        });
return false;
});

ROUTE

Route::post('/get-user', 'yourController@getUser');

CONTROLLER

public function getUser(Request $request){
  //Select from DB where userid = $request->input('userID');

//Return json to the AJAX success function
return response()->json(['success' => 'User found']);
}

希望有所帮助。

答案 1 :(得分:0)

您还可以创建一个只包含提交按钮的表单。假设您正在使用刀片:

<form method="post" action="{{ route('to.post.method', $user->userId) }}">
    <input type="hidden" name="getid" value="{{ $user->userNo }}">
    <input type="submit" name="submit" value="Link Text">
</form>

我没有对此进行测试,并且它还假设您的路线设置为处理它,但理论上它应该可以工作。