Проблема с включением CORS через шлюз API для лямбда-функции

По общему признанию, я никогда раньше не использовал CORS и не совсем уверен, что делаю.

Я пытаюсь вызвать функцию Lambda с веб-сайта без использования JSONP для запросов из разных источников. Я попытался следовать этому руководству по включению CORS. через API-шлюз, но, похоже, он не работает. Я создал метод GET, проверил, работает ли он через Postman, а затем использовал параметр включения CORS в раскрывающемся меню действий. Я отправляю запрос с помощью AJAX следующим образом

$.ajax({
        url: myEndpoint,
        type: "GET",
        crossDomain: true,
        dataType: "json",
    })

А в ответ получаю ошибку

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access"

Кто-нибудь знает, как исправить эту проблему?


person master565    schedule 22.04.2017    source источник
comment
Во время предполетной проверки или во время фактического запроса? Вы читали это?   -  person Alexander Torstling    schedule 22.04.2017
comment
Эта ошибка регистрируется в консоли на Chrome. Как мне узнать, было ли это во время предварительной проверки или во время фактического запроса? Эта строка в документации немного смутила меня, потому что в другом источнике, который я видел, был комментарий о том, что вам не нужно редактировать вашу лямбда-службу, хотя я думаю, что это, вероятно, было неправильно. Так мне просто нужно добавить заголовки CORS к моему ответу в моей лямбда-функции?   -  person master565    schedule 22.04.2017
comment
Если это поможет, моя функция Lambda получает и обрабатывает запрос, это просто ответ, который никогда не возвращается пользователю.   -  person master565    schedule 22.04.2017
comment
Игнорируйте мои предыдущие два комментария, добавление заголовка Access-Control-Allow-Origin к моему лямбда-ответу исправило это. Спасибо за помощь!   -  person master565    schedule 22.04.2017
comment
Жаль был в отъезде. Предпечатная проверка может быть обнаружена, поскольку это запрос OPTIONS. Я предполагаю, что шлюз обрабатывает все это правильно, но полагаюсь на серверную часть, чтобы добавить заголовки CORS для фактических запросов.   -  person Alexander Torstling    schedule 23.04.2017


Ответы (1)


Если вы используете прокси, ваш ответ на интеграцию Lambda должен иметь заголовок «Access-Control-Allow-Origin».

person Balaji    schedule 23.04.2017