11525 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous !
Je viens vers vous aujourd'hui car je lutte sur un problème dont l'origine m'échappe.

Sur la partie back-end d'un projet, j'ai un controller qui est sensé interroger la base de données et renvoyer tous les posts qui y sont présents. Or impossible d'envoyer les données au front-end...

Voici mon controller :
exports.getAllPosts = async (req, res, next) => {
    const posts = await prisma.posts.findMany({
        orderBy: {
            date: 'asc'
        }
    }).then((data) => {
        console.log(data); // On obtient bien data (qui est un array d'objets, chaque objet étant un post) dans le bash
        res.status(200).json(data); // Lorsque j'utilise cette ligne, ça génère une erreur qui est catchée juste après avec le status 403 et l'erreur retournée est un objet vide donc difficile de savoir ce qui cloche
        res.status(200).json({message : 'Pourquoi j\'arrive à envoyer ce message mais pas les data...'}); // Lorsque j'utilise cette ligne la requête réussie et je récupère bien le message.
    }).catch(e => res.status(403).json({e}));
}


Sauriez-vous pourquoi je n'arrive pas à envoyer "data" au front-end ?
Je vous remercie d'avance ! Smiley cligne
salut,

si je comprends bien ce que tu écris, data est un array et n'est donc pas au format json.
Tu dois pouvoir le transformer via un :
JSON.stringify(data)


Je suppose que cela devrait permettre de l'envoyer au format json Smiley smile