#javascript #node.js #cors
Вопрос:
Я получаю ошибку cors
const api = getAPI(); // HERE's ERROR function getAPI() { return (fetch('http://localhost:3000')); // returns a promise }
register.html:1 Access to fetch at 'http://localhost:3000/' from origin 'null' has been blocked by CORS policy: 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. register.js:103 GET http://localhost:3000/ net::ERR_FAILED 200 getAPI @ register.js:103 register @ register.js:97 register.js:103 Uncaught (in promise) TypeError: Failed to fetch at getAPI (register.js:103) at HTMLButtonElement.register (register.js:97)
Вот мое главное приложение, app.js (api)
const express = require('express') const app = express() const port = 3000 const mysqlConObj = require('./config/mysql.js') const db = mysqlConObj.init() const cors = require('cors'); mysqlConObj.open(db) app.get('/', (req, res) =gt; res.send('MyAPIName')) app.listen(port, () =gt; console.log('Server Running. . .')) app.use(cors({origin: "http://localhost:3000", credentials: true})); // CORS SETUP
Кроме того, это не работает. (Оба из
app.use(cors({origin: "http://localhost:3000", credentials: true}));
и
app.use(function(req, res, next) { res.header("Access-Control-Allow-Credentials", true); res.header("Access-Control-Allow-Origin", "http://localhost:3000"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization, X-HTTP-Method-Override, Set-Cookie, Cookie"); // select only the ones you need res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE"); next(); });
не работает.)
Я уже занимаюсь настройкой cors.
Кто-нибудь может сказать мне, что случилось?
Я хорошо импортировал КОРС.
Спасибо за совет
Комментарии:
1. Ваш сервер работает на локальном хосте:3000, а не в интерфейсном приложении.
2. Спасибо за ответ, но я это знаю. так что ты хочешь сказать?
3. Если вы хотите быстрое исправление, просто разрешите его везде с помощью app.use(cors())
4. Конечно,
app.use(cors());
возникает та же ошибка.5. Можете ли вы попробовать отправить запрос с почтальоном?