@nevantain

Как обойти CORS при отправке данных на сервер?

Всем привет, проблема такая, я хочу просто отправить данные из формы на node js сервер, но мешает cors.
app.use(cors());
Это не помогает, сразу говорю. Ошибка такая:

Access to fetch at 'localhost:5000/user' from origin '127.0.0.1:5500' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Код сервера:
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');

const app = express();

const PORT = process.env.PORT || 5000;

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(cors());

app.get('/', (req, res) => {
    res.send('OK');
});

app.post('/user', cors(), async (req, res) => {
    res.send(req.body);
});

app.listen(PORT, (req, res) => {
    console.log(`Server has started on http://localhost:${PORT}/`);
})


Код клиента:
const form = document.querySelector('.form');
const btn = document.querySelector('.btn');

btn.addEventListener('click', (e) => {
    e.preventDefault();
    const data = new FormData(form); 
    fetch('http://localhost:5000/user', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
        },
        body: data
    })
})


Как сделать нормальную отправку не понимаю, помогите пожалуйста.
  • Вопрос задан
  • 556 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы