Как включить cors в nodejs
Я хочу включить cors в моем nodejs.
Может кто-нибудь сказать, как я могу это сделать?
Где и что я должен изменить?
Я хотел опубликовать свою ссылку через Heroku. Но я могу использовать только get, post, put, delete, если я добавлю " https://cors-anywhere.herokuapp.com/" перед существующей ссылкой.
Спасибо за помощь мне,
const express = require('express');
const route = express.Router();
const messages = [
{
id: 1,
user: "Pikachu",
message: "pika pika"
},
{
id: 2,
user: "Ash",
message: "I choose you!"
},
{
id: 3,
user: "Misty",
message: "Can't drive, it's to misty"
},
{
id: 911,
user: "Emergency",
message: "bee doo bee doo"
}
];
route.get('/', function(request, response, next) {
// Render express index pagina
response.render('index', { title: 'Lab 5' });
response.end();
});
route.get('/api/v1/messages/:id', (request, response) => {
// controleren of er een ID overeenkomt met een bestaande ID
const message = messages.find(my_int => my_int.id === parseInt(request.params.id));
if(!message){
// geen message gevonden = foutmelding
response.status(404).json({status:"error","message":"Message with ID " + request.params.id +" does not exist"})
}
else {
// wel message gevongen = json doorsturen
response.json({status:"success", message:"GETTING message with ID " + request.params.id});
}
});
route.post('/api/v1/messages/', (request, response) => {
const new_message = { id: request.params.id, user:
request.query.user, message: request.body.message };
messages.push(new_message);
response.json({ status:"success", message:"POSTING a new message
for user " + request.query.user});
});
module.exports = route;
1 ответ
Вам нужно иметь промежуточное программное обеспечение для передачи сердечников, что позволит происхождение
Используйте следующую промежуточную программу после переменной сообщения:
route.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
// Request methods you wish to allow
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
// Request headers you wish to allow
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type, Authorization');
// Set to true if you need the website to include cookies in the requests sent
// to the API (e.g. in case you use sessions)
res.setHeader('Access-Control-Allow-Credentials', true);
// Pass to next layer of middleware
next();
});
Примечание: если вы хотите разрешить только какой-либо источник или домен /IP, замените '*'.
Например:
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3636');