2016-11-22 3 views
0

Wie übergebe ich Variable an Controller in POST-Methode von Link zu Aktion. Dies ist meine Klinge CodeLink zu Aktion Post-Methode in Laravel

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

Diese die URL wie http macht :: // localhost/Laravel/Userview? Getid = 001 Aber ich will die Variable in POST-Methode von Klinge zu übergeben.

Antwort

2

Wenn Sie POST von <a></a> tun möchten, müssen Sie eine AJAX-Post machen. Hier ist ein Beispiel.

HTML <a href="#" user-id="001">Get User</a> Beachten Sie das benutzerdefinierte Attribut user-id.

JAVASCRIPT (JQuery erforderlich)

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

Hoffnung, die helfen.

0

Sie könnten auch ein Formular mit nur einem Absenden-Button erstellen. Angenommen, Sie Klinge verwenden:

<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> 

habe ich nicht getestet, und es geht auch davon aus Ihren Routen eingerichtet sind, es zu handhaben, aber in der Theorie sollte es funktionieren.