Je ne suis pas en mesure d'autoriser la demande DELETE
de mon serveur d'API en raison de CORS.
// enable CORS
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET", "PUT", "POST", "DELETE", "OPTIONS");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
next();
});
Je reçois une erreur de console en disant:
XMLHttpRequest cannot load http://localhost:8080/api/users/57f5036645c04700128d4ee0. Method DELETE is not allowed by Access-Control-Allow-Methods in preflight response
Comment puis-je activer les demandes DELETE
, tout comme les demandes GET
, PUT
et POST
?
Je l'ai résolu sans ajouter de nouveaux paquets, juste ajouté cette ligne
res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE");
Notez que mes méthodes autorisées sont séparées par des virgules dans une chaîne. La fonction complète ressemble à ceci:
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
next();
});
L’un de vos en-têtes n’est pas défini correctement, alors au lieu de
res.header("Access-Control-Allow-Methods", "GET", "PUT", "POST", "DELETE", "OPTIONS");
le mettre comme
res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE, OPTIONS");
Mais vous avez raison, l'utilisation du package npm est plus simple.
Résolu en utilisant simplement cors package de npm et en activant toutes les requêtes cors, en remplaçant simplement ...
// enable CORS
app.use(function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET", "PUT", "POST", "DELETE", "OPTIONS");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
next();
});
avec...
app.use(require('cors')());
Mais je ne suis toujours pas sûr de ce que le paquet magique cors fait sous le capot pour le faire fonctionner.