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