Dans cet exemple, je vais vous donnez un exemple complet permettant de faire des appels Ajax depuis une fichier php. Vous devez dans ce cas modifier les fichiers routes/web.php, bien évidemment le fichier html et créer un contrôleur.
Ajouter la route dans routes/web.ph
Comme toujours, il faut ajouter la nouvelle route dans le fichier web afin que Laravel ne retourne pas une erreur 404.
Route::any('backend/users/loadInfo', ['as'=>'backend/users/loadInfo', 'uses'=>'Backend\UsersController@loadInfo'])->middleware('auth');
Route::post suffit mais j’ai mis Route::any afin de pouvoir faire des tests en allant sur la page http://www.crabcake.ch/blog/backend/users/loadInfo?iduser=1
Exemple de contenu du fichier html ou php
<span class='btn_info_user glyphicon glyphicon-info-sign' id='iduser_1' aria-hidden='true'>Username</span>
<div id='infouser_data_1'></div>
<script type="text/javascript">
jQuery( document ).ready(function( $ ) {
jQuery( ".btn_info_user" ).click(function() {
var arr_val = $(this).attr('id').split("_");
var iduser = arr_val[1];
var posting = jQuery.post( "<?php echo route('backend/users/loadInfo');?>", { '_token': '{ { csrf_token() } }',iduser: iduser } );
posting.done(function( data ) {
if(data.success) {
jQuery( "#infouser_data_"+iduser).html(data.div_content);
} else {
alert(data.msg)
}
});
console.log(iduser);
});
});
</script>
Contenu du fichier php
class UsersController extends Controller
{
public function loadInfo(Request $request){
if(!isset($request->iduser) || !is_numeric($request->iduser)){
$arr_response = array(
'success' => false,
'msg' => 'Error iduser missing',
);
return response()->json($arr_response);
}
$arr_response = array(
'success' => true,
'div_content' => "Contenu à retourner...",
);
return response()->json($arr_response);
}