Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème CORS node js

    30 novembre 2021 à 11:59:45

    Bonjour à tous,

    j'ai une petite appli angular avec un back nodeJs, cependant quand j'utilise une de mes api (POST / GET), je me retrouve avec un problème de CORS alors que je pense avoir tout fais correctement. (ps: je débute en node). Je précise que tout tourne en local. Si quelqu'un à une idées, car là je ne vois pas ce qui cloche

    const express = require('express');
    const mongoose = require('mongoose');
    const app = express();
    const User = require('./models/user')
    const userRoutes = require('./routes/user');
    
    
    mongoose.connect('mongodb+srv://**************************',
        { useNewUrlParser: true,
            useUnifiedTopology: true })
        .then(() => console.log('Connexion à MongoDB réussie !'))
        .catch(() => console.log('Connexion à MongoDB échouée !'));
    
    app.use((req, res, next) => {
        res.setHeader('Access-Control-Allow-Origin', '*');
        res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content, Accept, Content-Type, Authorization');
        res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');
        next();
    });
    
    app.use(express.json());
    
    app.use('/api/user', userRoutes);
    
    module.exports = app;
    

    et ma requette: 

     this.http.get('localhost:3000/api/users')

    EDIT: j'ai trouvé... 

    il faut:

    this.http.get('http://localhost:3000/api/users')

    au lieu de:

    this.http.get('localhost:3000/api/users')



    -
    Edité par dark_dadis 30 novembre 2021 à 12:18:55

    • Partager sur Facebook
    • Partager sur Twitter
      30 novembre 2021 à 12:29:09

      Bonjour, le message d'erreur indique clairement

      Cross origin requests are only supported for protocol shemes: http, data, chrome, chrome-extension, chrome-unstrusted

      Ton navigateur ne reconnait le protocol de communication que tu veut utilisé car tu ne la pas indiqué dans la cible de la requête tu doit remplacé

      this.http.get('localhost:3000/api/users')

      par

      this.http.get('http://localhost:3000/api/users')





      • Partager sur Facebook
      • Partager sur Twitter

      suggestion de présentation.

        30 novembre 2021 à 21:03:56

        SamuelGaborieau3 a écrit:

        Bonjour, le message d'erreur indique clairement

        Cross origin requests are only supported for protocol shemes: http, data, chrome, chrome-extension, chrome-unstrusted

        Ton navigateur ne reconnait le protocol de communication que tu veut utilisé car tu ne la pas indiqué dans la cible de la requête tu doit remplacé

        this.http.get('localhost:3000/api/users')

        par

        this.http.get('http://localhost:3000/api/users')


        Merci, effectivement j'ai survolé l'erreur sans la lire en détail. La fatigue. c'était bien ca. merci de ta réponse




        • Partager sur Facebook
        • Partager sur Twitter

        Problème CORS node js

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown