Laravel: Ejemplo básico Ajax

Después del <head> de nuestra plantilla header:
<meta name="csrf-token" content="{{ csrf_token() }}">

En el footer.blade.php:
<script>
  $.ajaxSetup({
      headers: {
          'X-CSRF-TOKEN': '{{ csrf_token() }}'
      }
  });
</script>

En routes/web.php:
Route::get('admin/users/prueba_ajax', 'LoqueseaController@prueba_ajax')->name("prueba_ajax");
Route::post('ajaxRequest', 'AjaxController@ajaxRequestPost')->name("ajaxRequestPost");

En LoqueseaController:
public function prueba_ajax(Request $request) {
return view("admin/users/prueba_ajax");
}

En prueba_ajax.blade.php:
@section("contenidoMain")
<h1>PRUEBA AJAX</h1>
<p>NUM1: <input type="text" id="num1"></p>
<p>NUM2: <input type="text" id="num2"></p>
<p>RESULT: <input type="text" id="result"></p>
<input id="btnAjax" type="button" value="Multiplicar">
@endsection

@section("js_own")
<script>
$(function() {
    $('#btnAjax').click(function(){
       $.ajax({
          type:'post',
          url:'{{ route('ajaxRequestPost') }}',
          data:{
              'num1':  $("#num1").val(),
              'num2':  $("#num2").val()
          },         
          success: function (data) {
               $("#result").val(data)
          }
       });
    });
});
</script>
@endsection

En AjaxController.php:
use Illuminate\Http\Request;
...
public function ajaxRequestPost(Request $request)  {
return $request->num1*$request->num2;
}

No hay comentarios:

Publicar un comentario