如何通过链接到操作将变量传递给POST方法中的控制器。 这是我的刀片代码
{{ link_to_action('userviewController@getschoolbranch',$user->userId,['getid' => $user->userNo]) }}
这些使得网址像http :: // localhost / laravel / userview?getid = 001 但我想从刀片服务器传递POST方法中的变量。
答案 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>
我没有对此进行测试,并且它还假设您的路线设置为处理它,但理论上它应该可以工作。