J'ai des problèmes avec Ajax et les routes. J'utilise Codeigniter 4.2.1.
Lorsque j'essaie de soumettre un formulaire de connexion en utilisant l'ajax, j'obtiens une erreur 404 Not found.
Voici le code de mentions que j'utilise :
Le formulaire HTML
<form id='loginFormScript' method='POST'>
<input type="email" id="emailLogin" name="emailLogin" >
<input type="password" id="passwordLogin" name="passwordLogin" >
<button type="submit">Submit</button>
Le script AJAX
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$("#loginFormScript").submit(function(e) {
alert("hello");
e.preventDefault();
$.ajax({
url: '<?php echo base_url('save-user'); ?>',
type: 'POST',
data: $('#loginForm').serialize(),
dataType: "json",
success: function(data) {
//SUCCESS CODE
}
});
});
</script>
L'itinéraire
$routes->setDefaultNamespace('App\Controllers');
$routes->setDefaultController('Home');
$routes->setDefaultMethod('index');
$routes->setTranslateURIDashes(false);
$routes->set404Override();
$routes->get('/', 'Home::index');
$routes->get('/login', 'Home::login');
$routes->get('/new1', 'Home::loginCheck');
$routes->get('/new', 'Home::login');
$routes->post("/save-user", "Home::saveUser");
Mon contrôleur
namespace App\Controllers;
class UserController extends BaseController
{
public function __construct()
{
helper(['form', 'url']);
}
public function index()
{
return view('welcome_message');
}
public function login()
{
return view('login');
}
public function saveUser()
{
print_r($_POST);exit;
}
}