跨源请求块

Cross origin request block

我正在处理 angular 前端项目并使用 angular7 项目。 我正在使用 aws api 作为后端。每当我调用 aws api 它给了我 以下错误。

Cross-Origin 请求被阻止:同源策略不允许读取位于 https://xxxxxxx.execute-api.us-east-1.amazonaws.com/XXX/subscriptionpayment 的远程资源。 (原因:来自 CORS 预检通道的 CORS header“Access-Control-Allow-Headers”中缺少令牌“access-control-allow-origin”。

Cross-Origin 请求被阻止:同源策略不允许读取位于 https://xxxxxxx.execute-api.us-east-1.amazonaws.com/XXX/subscriptionpayment 的远程资源。 (原因:CORS请求没有成功)。

我正在使用以下代码

const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type':  'application/json',
    'Access-Control-Allow-Origin':'*'
  })
};

     let makePaymentUrl = "https://xxxxx.execute-api.us-east-1.amazonaws.com/xxxx/subscriptionpayment";
return this.http.post(makePaymentUrl, params,httpOptions);

你在哪里调用这个请求?如果它是一个本地主机,也许 aws 不允许访问它。检查此服务的 API 密钥

或仔细检查您的 headers 尝试 this

您需要在 API 网关端点启用 CORS。 关注:https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html#how-to-cors-console