Angular 6中没有“ Access-Control-Allow-Origin”标头

时间:2018-11-06 18:21:09

标签: angular asp.net-web-api

我收到Access-Control-Allow-Origin错误。

  

从原点“ https://localhost:44301/api/XXXX/GetAllXXXX”到“ https://localhost:44322”处对XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:否'Access-Control-Allow-来源的标头出现在请求的资源上。

enter image description here

下面是我传递给api调用的标头。

getAllItems<T>(): Observable<T> {
const options = { headers: this.getRequestHeaders() };
return this.http.get<T>(this.getAllItemUrl, options);

}

protected getRequestHeaders(): HttpHeaders {
let headers = new HttpHeaders({
  'Content-Type': 'application/json',
  'Accept': `application/json, text/plain, */*`,
  'App-Version': '1',
});
return headers;

}

我想在这里连接我的API吗?

1 个答案:

答案 0 :(得分:1)

您需要将CORS添加到您的后端服务中。如果它是一项快递服务,您可以拥有类似的东西

const express = require('express');
const app = express();


var allowCrossDomain = function(req, res, next) {
    res.header('Access-Control-Allow-Origin', "*");
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
    res.header('Access-Control-Allow-Headers', 'Content-Type');
    next();
}

app.use(allowCrossDomain);