【发布时间】:2022-12-03 15:00:40
【问题描述】:
嗨,我正在使用 cors npm 库将后端与前端连接起来,我之前使用 fastApi 中间件构建了后端,并且工作得非常好,但是对于 expressjs,它似乎根本无法在生产中工作,仅在开发中。我一直收到这个错误
Access to XMLHttpRequest at 'https://invoiceappnodejs.herokuapp.com/send_mail' from origin
'https://www.omillerwieldinginvoice.com' has been blocked by CORS policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
这是代码
const cors = require('cors');
require('dotenv').config()
const express = require('express');
const nodemailer = require('nodemailer');
const app = express();
app.use(express.json());
app.options('/send_mail', cors())
app.use(cors({
allowedHeaders:["*"],
exposedHeaders: ['*']
origins:'https://www.omillerwieldinginvoice.com/',
headers:'*',
preflightContinue: false,
methods:"GET, POST, PUT, PATCH, POST, DELETE"
}))
【问题讨论】:
-
“它似乎不起作用“ 不是一个特别描述性的问题陈述。你能详细说明一下吗?你期望发生什么?相反发生了什么?你尝试了什么,你在哪里遇到困难?请参阅How to Ask
-
origins不是 CORS 选项对象的属性;你想使用origin(单数)。另外,https://www.omillerwieldinginvoice.com/是不是Web origin;删除尾随的斜线。 -
即使有 origin:"*" 它仍然失败,我添加了你所有的建议