Bonjour Je travaille sur une to-do list, et je coince sur la requête post pour ajouter mes taches à la BDD.
Il semblerait qu'il y ait un problème au niveau du JSON mais pas moyen de comprendre comment le régler.
Merci d'avance
async function addTask() {
try {
const userId = localStorage.getItem('userId');
const token = localStorage.getItem('token');
const task = {
userId
};
const response = await fetch(`${API_ROUTES.TASKS}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${token}`,
},
body: JSON.stringify(task),
});
if (!response.ok) {
throw new Error('Erreur lors de l\'ajout de la tâche');
}
// Traitez la réponse si nécessaire
} catch (error) {
console.error('Une erreur est survenue lors de l\'ajout de la tâche :', error);
// Affichage d'un message d'erreur à l'utilisateur
}
}
const Task = require('../models/Task');
// Ajout d'un livre
exports.addTask = (req, res, next) => {
let taskObject;
try {
taskObject = JSON.parse(req.body.task);
} catch (error) {
return res.status(400).json({ message: "Les données de la tâche ne sont pas au format JSON valide." });
}
/* const taskObject = JSON.parse(req.body.task); // Corps de la requête => json
*/ // On vient supprimer les ID générés par le client pour que tout soit généré par le serveur : plus sécurisé
delete taskObject._id;
delete taskObject._userId;
const task = new Task({ // Création d'un nouveau Book
...taskObject,
userId: req.auth.userId,
});
task.save()
.then(() => { res.status(201).json({message: 'Livre enregistré !'})})
.catch(error => { res.status(400).json( { error })})
};
- Edité par EnzoVincent3 23 mars 2024 à 12:34:52
Requête POST ne fonctionne pas
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.