我在同一台计算机上开发了Node+Express的后端和Angular的前端,事情是我把后端移动到了本地网络中的一个服务器上,使用静态IP。
我在HTTP请愿书中更改了URL,但当我打开angular(在做任何请求之前)应用程序时,它显示:
已被CORS策略阻止:对预飞行请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
在前端,当我执行请求时,我添加{WithCredential:true}
,在后端,我使用以下命令配置cors:
app.use(cors( {
credentials: true,
origin: 'http://localhost:4200'
}));
我曾尝试将origin更改为'*',空,甚至只是使用app.use(cors());
,但在我的前端angular总是这样说。 同样,在完成登录请求几分钟后,它返回:
Status Code: 503 Service Unavailable
而我的服务器保持无请求状态
有谁出了什么问题? 在高级感谢!
问题实际上是我的服务器没有打开端口,所以我打开了3000并且使用起源:'http://localhost:4200'
工作得很好!
请检查您从发送到api服务器的preflight请求返回的响应头,如果响应头不包含header-access-control-allow-origin,这基本上意味着cors配置设置在后端服务器级别是不正确的。 此外,还要检查标题Access-Control-Allow-Credentials。