Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 客户端通过服务器重定向:CORS错误_Reactjs_Axios_Cors - Fatal编程技术网

Reactjs 客户端通过服务器重定向:CORS错误

Reactjs 客户端通过服务器重定向:CORS错误,reactjs,axios,cors,Reactjs,Axios,Cors,我试图通过Express API将用户从我的客户端重定向到另一个页面。原因是,一旦用户成功点击POST“auth/login”端点(和有效数据),他/她将被重定向到主页。 这给了我以下错误: 访问位于“”的XMLHttpRequesthttp://localhost:3000/"(从 'http://localhost:4000/auth/login""""来源" 'http://localhost:3000'已被CORS策略阻止:响应 飞行前请求未通过访问控制检查:否 “Access Cont

我试图通过Express API将用户从我的客户端重定向到另一个页面。原因是,一旦用户成功点击POST“auth/login”端点(和有效数据),他/她将被重定向到主页。 这给了我以下错误:

访问位于“”的XMLHttpRequesthttp://localhost:3000/"(从 'http://localhost:4000/auth/login""""来源" 'http://localhost:3000'已被CORS策略阻止:响应 飞行前请求未通过访问控制检查:否 “Access Control Allow Origin”标头出现在请求的服务器上 资源

我假设这与在前端处理COR有关,因为我的Express API已经在使用以下中间件:

app.use(
  cors({
    origin: "http://localhost:3000",
    methods: "GET,PUT,PATCH,POST,DELETE",
    credentials: true
  })
);

我如何通过CORS策略解决此阻塞问题(即提供“访问控制允许来源”标题)?

您是否在
http://localhost:4000/auth/login
服务器和
http://localhost:3000
server?通常情况下,如果您收到一条消息说,
Access to XMLHttpRequest at'http://localhost:3000/“……从起源”http://localhost:3000“
(即,请求URL的来源与请求的来源相同),这表示浏览器实际上已将原点更改为空-在这种情况下,限制
http://localhost:3000
server to
http://localhost:3000
将不起作用,因为它与null不匹配。该值需要为
*
。(浏览器将原点更改为null的原因是请求已跨原点重定向。)@sideshowbarker我现在只在服务器上启用了CORS。如果我想在客户端也启用CORS,我该怎么做?是我可以在axios请求中设置某个特定的头,还是我必须安装一个库并对其进行配置?对于CORS,你不能在前端启用任何功能;相反,它需要在b上进行配置因此,在本例中,无论您用于
http://localhost:3000/“
(例如node/express或其他).关于问题中引用的错误,我仍然感到困惑的一点是,
http://localhost:4000/auth/login
返回前端
http://localhost:3000
看起来它可能是OAuth流中发生的典型重定向类型,但如果是这样,那么不典型的是您通常情况下,您不希望使用ajax/XHR/fetch向身份验证/登录端点发出请求。相反,您希望让用户实际被导航到该身份验证/登录端点—也就是说,通过用户单击导致导航的按钮或超链接。