【发布时间】:2023-04-03 15:31:01
【问题描述】:
在使用 proxy.conf 和 angular 5 时遇到问题。我正在尝试从在 localhost 上运行的 angular 应用程序访问 https 开发服务器(证书无效)。我拥有的代理非常适合 GET 请求。但是对于 POST 请求,它失败并出现以下错误
选项https://www.dev.xxxx.au/api/carg/v1/enquiry405 ()
无法加载https://www.dev.xxxx.au/api/carg/v1/enquiry:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'http://localhost:4455' 不允许访问。响应的 HTTP 状态代码为 405。
我知道 OPTIONS 在 POST 之前由浏览器调用,但找不到使其工作的方法。
以下是我的代理配置
{
"/api": {
"target": "https://www.dev.xxxxx.au",
"secure": false,
"changeOrigin": true,
"logLevel": "debug",
"pathRewrite": {
"^/api/carg/v1/enquiry": "https://www.dev.xxxx.au/api/enquiry"
}
}
}
尝试了很多组合,但无法成功。有什么想法...?
【问题讨论】:
-
听起来你使用 HttpClient 的 Angular 服务指向dev.carers.healthdirect.org.au/api/carg/v1/enquiry,而不是使用相对路径:'/api/enquiry'。你能分享你的角度代码吗?
-
嘿@LucasTétreault,感谢您的及时回复。不幸的是,我只能在星期一分享代码 sn-p。
-
Okie dokie。我会等着????
-
嗨@LucasTétreault,感谢您指出我的错误。就像你说的,我指的是 HttpClient 中的绝对 url。我已经纠正了它,它工作顺利。 :)