salut les gars je suis nouveau en laravel jquery ajax, je veux transmettre une requete http via mon formulaire,
mais quand j'inspecte bien je ne trouve pas d'erreur dans le code que voici.

le router web.php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\EmployeeController;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Route::get('employee', [EmployeeController::class,'index'])->name('employee');

Route::POST('store_employe',[EmployeeController::class,'storeEmploye'])->name('store_employe');

Entourez votre code en utilisant "```" pour bien le mettre en forme. (ne copiez pas trop de code)
le controller 

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Models\Employee;

class EmployeeController extends Controller
{
  public function index()
  {

      return view('welcome');
  }
  public function storeEmploye(Request $request)
  { 
    dd($request->all());
    return $request->all();
  }
}

le code ajax 

 $(document).ready(function(){

     // alert('bienvenue')
        $.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
         }
       });
      // $('#example').DataTable();

       $('#form_employee').on('submit',function(e){

        e.preventDefault();
         //alert($(this).serialize())
         //var DataForm=new FormData($(this)[0]);
         $.ajax({
            method:"POST",
            url:"{{route('store_employe')}}",
             data:{nom:$('#nom').val(),prenoms:$('#prenoms').val()},

             beforeSend:function()
            {
              $('#save_employee').text('traitement')
            },
            dataType:'json',
            success:function(data)
            {
                 alert(data)
            }
            })
        //add_new_employee($(this),)
       })
    })

    le formulaire dans une modale :

    <div class="modal" tabindex="-1" id="modal_employee">
<form method="POST" id="form_employee" action=""   enctype="multipart/form-data">

  <div class="modal-dialog modal-lg">
    <div class="modal-content">
        <!--form_employee-->
      <div class="modal-header">
        <h5 class="modal-title">Creation d'Employé</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body bg-primary text-white fw-bolder">
        <div class="row">
             <div class="col-md-4">
                <label for="">Nom</label>
                <input type="text" name="nom" id="nom" class="form-control" required>
                <input type="text" name="url" id="url" class="form-control" value="" readonly>
             </div>
             <div class="col-md-4">
                <label for="">Prénoms</label>
                <input type="text" name="prenoms" id="prenoms" class="form-control" required>
             </div>
             <div class="col-md-4">
                <label for="">Adresse</label>
                <input type="text" name="adresse" id="adresse" class="form-control" required>
             </div>
        </div>
        <div class="row">
             <div class="col-md-4">
               <br>

             </div>

        </div>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button type="submit" id="save_employee" class="btn btn-primary">Enregistrer</button>
      </div>
    </div>
  </div>
</form>
</div>

le code ajax

Ce que je veux

je veux pouvoir recuperer la requete httprequest après la soumission du formulaire.

Ce que j'obtiens

mais voila ce qui s'affiche
http://localhost/laravels_exercices/gest_employee_dt_tables/public/store_employe
500 (Internal Server Error)

Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

1 réponse


Hello :)

Alors dans ton .env ton APP_ENV doit etre en production

Remplaces par development et si la clé n'existes pas ajoutes DEBUG=true

Ensuite relances le serveur puis refais un test, tu devrais avoir un message d'erreur plus précis que "internal server error"

hello

et je crois que pour la route c'est post en minuscule il me semble que c'est sensible a la case