Je rencontre des problèmes pour récupérer les erreurs d'un script php appelé avec Ajax. J'ai un ajax qui dirige vers un script de suppression.
Voici mon Js:Traitement des erreurs php après un appel ajax
$('.js-delete-link').click(function (e) {
e.preventDefault();
let id = $(this).closest('tr').find('.id').text();
if (confirm('Voulez-vous vraiment supprimer le message ?')) {
let href = $(e.currentTarget).attr('href');
$.ajax({
url:href,
type:'post',
success:function(data){
let msgJson = JSON.parse(data);
bootstrapNotify(msgJson.msg,msgJson.type);
},
})
}
});
et voici mon script php où je supprime en fait les articles.
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_GET['id'])) {
$id = FILTER_INPUT(INPUT_GET, 'id', FILTER_VALIDATE_INT);
if ($id === false) {
$arr = array("msg" => "Id incorrect ou non spécifié", "type" => 'danger');
} else {
if ($messageModelDb->delete($id)) {
$arr = array("msg" => "Le ou les messages ont été supprimés", "type" => 'success');
} else {
$arr = array("msg" => "Le message n'existe pas !", "type" => 'danger');
}
}
}
echo json_encode($arr);
} else {
$_SESSION['error'] = "Vous n'êtes pas autorisé.";
redirect('liste-messages');
}
Dans mon php j'essaie de capturer toute erreur qui pourrait se produire lors de la requête et si elle arrive i passer un message selon l'erreur.
Cependant, peu importe ce que je reçois toujours un message de réussite, même si l'ID n'existe pas.
Désolé si cela peut sembler totalement évident mais je suis nouveau à tout cela et je suis coincé ici!
Nous vous remercions de votre aide!
ne rediriger la page du navigateur tout en faisant un appel ajax – charlietfl
Merci je ne savais pas que – Simondebn