У меня есть настройка cors на моем экспресс-сервере (Node) следующим образом:
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.
Я думаю, что cors на моем сервере настроен правильно, потому что, когда я звоню с помощью почтальона, он работает и возвращает заголовок Access-Control-Allow-Origin →*. Кроме того, когда я звоню на свой веб-сайт, он почти мгновенно срабатывает. Так что он может даже не попасть на мой сервер. Точно такая же установка работает при локальном тестировании. Проблема возникает после того, как сервер и веб-сайт развернуты в Heroku.





Можете ли вы попробовать это, это решает проблему с корсом для меня
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();
});
Я понял. Я использую домены Google, и мне пришлось перенаправить домен с «mydomain.com» на «www.mydomain.com». предполагая, что это сработает, я использовал свой URL как mydomain.com. Поскольку эти вызовы в конечном итоге перенаправлялись, мои вызовы с Redirect is not allowed for a preflight request. не выполнялись. Поэтому я просто начал добавлять www к своим URL-адресам, и проблема исчезла.