我正在使用第三方API。使用API时,出现以下错误:
从原点“ https://api.upstox.com/index/master-contract/nse_eq?symbol=infy”到“ https://angular-8nss2w.stackblitz.io”的获取操作已被CORS策略阻止:对预检请求的响应未通过访问控制检查:否“ Access-Control-Allow-来源的标头出现在请求的资源上。如果不透明的响应满足您的需求,请将请求的模式设置为“ no-cors”,以在禁用CORS的情况下获取资源。 下面是代码:
sendGetRequest() {
console.clear();
const headers = new HttpHeaders()
.append('cache-control', 'no-cache')
.append('content-type', 'application/json')
.append('authorization', 'Bearer e9f67cb305d7e636ab047061c65cdd40187d14bb')
.append('x-api-key','jeG4wdAseG9CJVQ431MBh6B9lXbMVK0Q7Pyvadlc')
// Website you wish to allow to connect
.append('Access-Control-Allow-Origin', '*')
// Request methods you wish to allow
.append('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE')
// Request headers you wish to allow
.append('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
return this.http
.get(this.url, { headers: headers })
.subscribe((res) => this.title= res.toString());
答案 0 :(得分:0)
第三方api应该启用您来源的请求。如果您尝试从本地主机访问它,则服务器可能不允许来自本地主机的请求。
检查api响应标头中的“ access-control-allow-origin”。您将了解允许哪些来源访问api。
您可以在此处阅读有关CORS的更多信息: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS