/ / Використання як пакета cors, так і встановлення заголовків Access-Control для відсутності успіху - node.js, express, cors, http-status-code-400

Використовуючи як пакет cors, так і налаштування заголовків Access-Control на невдачу

Отже, у мене виникають проблеми зЗаголовки керування доступом. Що "дивно те, що він працював деякий час, а потім раптово перестав працювати, без мене змінити код. Я відправляю запит з реактивного додаток, що працює локально." Сервер, який я запитую, розміщений на heroku, і повідомлення про помилку, яке я отримую, це:

"Походження http://localhost:3000 не дозволено Access-Control-Allow-Origin "

Чи є якісь помилки в цьому коді, які призводять до цієї помилки?

var express = require("express");
var path = require("path");
var logger = require("morgan");
var bodyParser = require("body-parser");
var cors = require("cors");

var app = express();

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

app.use((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", "X-Access-Token");
next();
});

Я взяв запит:

Request URL:https://secret-server.herokuapp.com/levels/
Request Method:GET
Status Code:400 Bad Request
Remote Address:**.***.***.**:443
Referrer Policy:no-referrer-when-downgrade

Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate, br
Accept-Language:en-GB,en-US;q=0.9,en;q=0.8
Connection:keep-alive
Host:secret-server.herokuapp.com
Origin:http://localhost:3000
Referer:http://localhost:3000/

Відповіді:

0 для відповіді № 1

Ви пробували налаштувати параметри cors таким чином:

var corsOptions = {
origin: "*",
optionsSuccessStatus: 200,
methods: ["GET","PUT", "POST", "DELETE"],
allowedHeaders: ["X-Access-Token"],
preflightContinue: true
}

app.use(cors(corsOptions))