【发布时间】:2022-06-26 00:05:29
【问题描述】:
当我向我的 api(使用环回 4)发送补丁请求时出现错误,所有其他请求都工作正常,我仅在补丁请求时出现错误。
错误:
CORS 策略已阻止从源“url web app”访问“url api”处的 XMLHttpRequest:请求的资源上不存在“Access-Control-Allow-Origin”标头。
请有任何想法!这个问题也出现在环回 3 上,所以我认为如果迁移到环回 4 我会解决问题,但我总是会遇到同样的错误
【问题讨论】:
-
尝试手动配置 CORS 规则,如下所述:loopback.io/doc/en/lb4/…
-
感谢您的帮助,我已经做到了,这是 index.ts 中的代码: const config = { rest: { port: +(process.env.PORT ?? 3000), host: process .env.HOST, gracePeriodForClose: 5000, // 5 秒 openApiSpec: { setServersFromRequest: true, }, cors: { origin: '*', methods: 'GET,HEAD,PUT,PATCH,POST,DELETE', preflightContinue: false , optionsSuccessStatus: 200, maxAge: 86400, credentials: true, }, }, };
-
所有其他方法都可以正常工作,除了补丁方法
-
在调试器中查看响应头:Access-Control-*,它们如何查找 PATCH 和其他请求?
-
从源“web.app”访问“urlapi/preventives/56”处的 XMLHttpRequest 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。
标签: angular loopbackjs loopback loopback4 angular-loopback