XMLHttpRequest для API GATEWAY не работает - PullRequest
0 голосов
/ 16 января 2019

Я пытался вызвать API-шлюз, чтобы отобразить JSON, возвращенный им с помощью XMLHttpRequest. Моя веб-страница размещена на AWS S3.Когда я попытался, я получил следующую ошибку-

Не удалось загрузить {url of API}: Поле заголовка запроса Access-Control-Allow-Origin не разрешено Access-Control-Allow-Headers в предпечатной проверкеответ.

Код запроса: -

var config = {
            headers: {
            "Access-Control-Allow-Origin": "*",
            "Access-Control-Allow-Credentials": "true",
            "Access-Control-Allow-Methods": "DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT",
            "Access-Control-Allow-Headers": "Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token"
            }
            } 

            axios.get(API_URL,config)
            .then(function (response) {
                    console.log(response);
            })

Моя настройка CORS в amazon s3:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>https://s3.ap-south-1.amazonaws.com</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

Подробности - веб-страница, размещенная на AWS S3Отправка запроса в шлюз API AWS

Справочная информация -
Проверено это это и это в стеке, но это не может помочь мне решить проблему.

РЕДАКТИРОВАТЬ:

Как уже говорилось, я попытался удалить конфигурацию из вызова Axios.Я получил ОШИБКУ в виде

Нет заголовка «Access-Control-Allow-Origin» на запрошенном ресурсе.Поэтому происхождение 'https://s3.ap -south-1.amazonaws.com ' не разрешено.

1 Ответ

0 голосов
/ 16 января 2019

Этот метод работал для меня

Код, который я использовал: -

        axios.get(API_URL)
        .then(function (response) {
                console.log(response);
        })

CDN для AXIOS -
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.18.0/axios.min.js"></script>

Затем мне пришлось включить заголовки ответов в API GATEWAY , которые мне не хватало.
Это можно сделать, используя шаги, упомянутые здесь или на Официальном веб-сайте AWS , как упомянуто @ Michael-sqlbot в комментариях.

...