2016-11-22 1 views
0

リンクを使用してPOSTメソッドで変数をコントローラに渡す方法を教えてください。 これは私のブレードコードLaravelのアクションポストメソッドへのリンク

{{ link_to_action('[email protected]',$user->userId,['getid' => $user->userNo]) }} 

であるこれらは、http :: // localhost /をlaravel/userview?のgetId = 001 のようなURLになります。しかし、私は、ブレードからPOSTメソッドで変数を渡したいです。

答えて

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', '[email protected]'); 

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']); 
} 

助ける希望。

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> 

私はこれをテストしていないと、それはまた、あなたのルートがそれを処理するように設定されている前提としていますが、理論的にはそれが動作するはずです。

関連する問題