Почему я по-прежнему получаю сообщение об ошибке CORS после включения CORS - PullRequest
0 голосов
/ 11 марта 2020

Вот запрос на выборку:

class App extends Component {
    componentDidMount() {
        fetch('http://localhost:3001/')
            .then((res) => res.json())
            .then((data) => console.log(data));
    }

    render() {
        return <div></div>;
    }
};

Это код бэкэнда:

const express = require('express');
const app = express();
app.use(function(req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Headers', '*');
    next();
});
app.use('/', (req, res) => {
    res.json({ test: 'test' });
});
app.listen(3001, console.log('listeing...'));

Ошибка:

Доступ к выборке в 'http://localhost: 3001 / 'от источника' http://localhost: 3000 'заблокировано политикой CORS: заголовок «Access-Control-Allow-Origin» отсутствует в запрошенном ресурс. Если непрозрачный ответ отвечает вашим потребностям, установите режим запроса «no-cors», чтобы получить ресурс с отключенным CORS.

Ответы [ 2 ]

1 голос
/ 11 марта 2020

Вы должны разрешить клиенту использовать методы http:

res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE'); // allow client to use http methods
0 голосов
/ 11 марта 2020

Самый простой вариант - установить пакет cors.

установка:

npm i cors

использование:

const cors = require('cors')
app.use(cors())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...