Как выполнить Ajax-запрос через браузер к AWS API Gateway с политикой CORs? - PullRequest
0 голосов
/ 05 октября 2019

Я успешно выполнил запрос GET через Postman, но он не работает в браузере из-за CORs

Я пробовал и XHR, и Jquery Ajax (см. Codepen здесь ), иЯ также установил Access-Control-Allow-Origin

XHR

var data = "{\"value\":'174.9',\"time_stamp\":\"2019-10-01T18:56:45-04:00\",\"date\":\"2019-10-01\",\"name\":'weight',\"category\":'weight'}";

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://f17c15m5a79.execute-api.us-east-2.amazonaws.com/production/quantified-self-metrics");

xhr.send(data);

Jquery Ajax

  var settings = {
    async: true,
    crossDomain: true,
    url:
      "https://f17c15m5a79.execute-api.us-east-2.amazonaws.com/production/quantified-self-metrics",
    method: "GET",
    headers: {
      "Access-Control-Allow-Origin": "*"
    },
    data:
      '{"value":\'175.9\',"time_stamp":"2019-10-02T18:56:45-04:00","date":"2019-10-02","name":\'weight\',"category":\'weight\'}'
  };

$.ajax(settings).done(function (response) {
  console.log(response);
});

Ответ, который я получаю из браузера, следующий:

Доступ к XMLHttpRequest по адресу https://f17c15m5a79.execute -api.us-east-2.amazonaws.com / production / quantified-self-metrics ? {% 22value% 22:% 27175,9% 27% 22time_stamp% 22:% 222019-10-02T18: 56: 45-04: 00% 22% 22% 22date:% 222019-10-02% 22% 22% 22name:% 27weight% 27,% 22category% 22:% 27weight% 27} 'from origin' https://codepen.io' заблокирован политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа: Нет 'Access-Control-Allow-Origin'На запрошенном ресурсе присутствует заголовок.

Я также реализовал решение, найденное в этом вопросе

1 Ответ

0 голосов
/ 05 октября 2019

Вам необходимо добавить https://cors-anywhere.herokuapp.com/ к вашему URL-адресу запроса. Так будет выглядеть https://cors-anywhere.herokuapp.com/https://f17c15m5a7.execute-api.us-east-2.amazonaws.com/production/quantified-self-metrics

...