我在我的express(Node)服务器中设置了cors,如下所示:
server.options('*',cors());
server.use(cors());
像这样在我的Vue网站上拨打电话
axios.default
.post(url, {
firstName: this.firstName,
lastName: this.lastName,
email: this.email,
interests: this.interests,
targetURL: "https://www.joinvurchase.com/email-verified/",
poolID
})
但是出现以下错误:
has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
我认为服务器上的核心设备已正确设置,因为当我使用邮递员拨打电话时,它可以工作并返回Access-Control-Allow-Origin →*
标头。同样,当我在网站上拨打电话时,它几乎立即出错。因此,它甚至可能无法进入我的服务器。在本地测试时,完全相同的设置适用。将服务器和网站都部署到Heroku之后,就会出现此问题。
答案 0 :(得分:1)
我知道了。我使用google域,并且将域从“ mydomain.com”重新路由为“ www.mydomain.com”。假设这行得通,我将网址用作mydomain.com。由于这些呼叫最终被重新路由,因此我的呼叫失败Redirect is not allowed for a preflight request.
。所以我只是开始将www添加到我的网址中,问题就消失了。
答案 1 :(得分:0)
您可以尝试一下吗,这可以为我解决cors问题
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "HEAD, OPTIONS, GET, POST, PUT, DELETE");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
next();
});