【发布时间】:2020-06-26 14:26:02
【问题描述】:
如果我enable CORS for all routes,则来自前端 (https://localhost:3000) 的请求有效并获得正确的请求标头。
const express = require('express');
const cors = require('cors');
var app = express();
app.use(cors());
app.post('/api/submitEmail', () => console.log('yay'));
如果我 enable CORS on the individual route,完全按照文档布局,我会在控制台中收到 CORS 错误
app.post('/api/submitEmail', cors(), () => console.log('booooo'));
错误:
Access to XMLHttpRequest at 'http://localhost:8000/api/submitEmail' from origin 'http://localhost:3000' 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.
我错过了什么?
来自下面前端的整个请求
const api =
process.env.NODE_ENV === "development"
? "http://localhost:8000"
: MY_PROD_URL;
const user = {
email
};
axios.post(`${api}/api/submitEmail`, { user }).then(res => {
setIsLoading(false);
setValidationMessage(res.data);
});
【问题讨论】: