当我想将 localhost:4000 重定向到 localhost:3000 时出现错误 CORS
Posted
技术标签:
【中文标题】当我想将 localhost:4000 重定向到 localhost:3000 时出现错误 CORS【英文标题】:Error CORS when i want redirecting localhost:4000 to localhost:3000 【发布时间】:2022-01-12 16:01:30 【问题描述】:我有一个包含 react 和 nodejs 的项目。 现在,我在 localhost:4000 (我的服务器)中对用户进行身份验证,然后重定向到 localhost:3000/*
const loginHandler = async (req, res,next) =>
passport.authenticate("local",
successRedirect:'http://localhost:3000/dashboard',
failureRedirect:'http://localhost:3000/login',
failureFlash: true
)(req,res,next)
;
但重新运行此错误
CORS 策略已阻止从源“http://localhost:3000”访问“http://localhost:3000/login”处的 XMLHttpRequest(从“http://localhost:4000/login”重定向) :对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 loginForm.jsx:26 错误:网络错误
【问题讨论】:
【参考方案1】:是的,端口被视为不同的来源。当请求被尝试时,它会通过重新请求跨域资源共享策略来询问是否可以这样做。正如错误所暗示的,位于 :3000 的服务器没有提供 Access-Control-Allow-Origin 标头。此标头应列出允许与其联系的域,或使用通配符。
如果您使用 express,请参阅 CORS 中间件以简化此操作:https://expressjs.com/en/resources/middleware/cors.html
【讨论】:
以上是关于当我想将 localhost:4000 重定向到 localhost:3000 时出现错误 CORS的主要内容,如果未能解决你的问题,请参考以下文章