角阻塞的cors
Posted
技术标签:
【中文标题】角阻塞的cors【英文标题】:Angular blocked cors 【发布时间】:2021-01-04 15:36:15 【问题描述】:在我的本地主机中,我禁用了 Google chrome 安全性,但我知道我想将它部署在我的服务器中,但我遇到了这个 cors 问题。 API 不是我的,它是一个外部 API。
我在 Typescript 中的服务是
getPlaces(holiday_type, currency, checkin, checkout, groups, page)
return this.http.get(
`/api/v2/places?holiday_type=$holiday_type¤cy=$currency&checkin=$checkin&checkout=$checkout&groups[]=$groups&page=$page`,
headers:
'Authorization': this.auth,
'Accept': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type, Access-Control-Allow-Headers, Access-Control-Allow-Origin, Authorization, X-Requested-With',
,
);
我的 proxy.config 看起来如此
"/api/*":
"target": "https://tr.halalbooking.com",
"secure": false,
"logLevel": "info"
【问题讨论】:
proxy.config 中缺少"changeOrigin":true
。你试过了吗?
是的,我已经测试过了,但没有成功:/
在这种情况下,您需要一个服务器端代理。在您的最后运行节点并从那里调用 apiz 调用并将其提供给您的前端。
【参考方案1】:
从错误消息来看,halabookings 似乎正在阻止请求。你有两个选择:
联系 halalbookings 的所有者并要求他们允许您的来源。通常,如果他们为您提供 API,您就有一个门户,您可以在其中列出白名单或指定允许的来源。
将 API 调用移至 halalbookings 以在服务器端进行。然后,在您的前端调用您的 API(调用 halalbookings)
【讨论】:
我想测试一下,谢谢。如果我成功了,我会回信以上是关于角阻塞的cors的主要内容,如果未能解决你的问题,请参考以下文章
球衣后端 jquery AJAX API 调用中的 Cors 策略阻塞