Lambda CORS ошибка заблокирована в клиенте, но работает в Почтальоне - PullRequest
0 голосов
/ 04 марта 2020

Я знаю, что было много тем, написанных на эту тему, и, поверьте мне, я просмотрел все из них на данный момент.

Это точная ошибка:

Access to XMLHttpRequest at 'https://8udb877nfi.execute-api.us-east-1.amazonaws.com/prod/bulk-updater' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Когда я запрашиваю эту конечную точку от почтальона, все работает от, но когда я делаю запрос от клиента, я получаю вышеуказанную ошибку.

Это мой обработчик в лямбда-выражении:

exports.handler = async (event, context, callback) => {
    var responseCode = 200;

    var response = {
        statusCode: responseCode,
        headers: {
            "x-custom-header" : "my custom header value",
            "Access-Control-Allow-Origin": "*"
        },
        body: JSON.stringify(event)
    };
    callback(updateId(event), response)
}

Вот так настроен мой запрос в клиенте реакции:

const requestToRtpManager = (idObjects) => {
    axios({
        method: 'POST',
        url: 'https://8udb877nfi.execute-api.us-east-1.amazonaws.com/prod/bulk-updater',
        data: idObjects,
        headers: {
            'Access-Control-Allow-Credentials' : true,
            'Access-Control-Allow-Origin':'*',
            'Access-Control-Allow-Methods':'POST',
            'Access-Control-Allow-Headers':'application/json',
            'Content-Type': 'text/plain'
        },
    }).then(v=>console.log(v))
}
...