AWS Лямбда-функция работает, когда я тестирую в Postman, но когда я пытаюсь реализовать в своем ReactJS, я получаю код состояния 500 - PullRequest
0 голосов
/ 09 мая 2020

Я работаю с ReactJS, пытаюсь создать контактную форму, используя AWS Lambda и SES. Я следовал этому руководству для настройки AWS. Когда я отправляю свой файл json через почтальона, у меня нет проблем со статусом 200, и письмо отправляется, отлично! затем я пытаюсь реализовать это в своем файле React, и у меня возникают проблемы. несмотря на наличие той же конечной точки API.

function post(url, body, callback) {
      var req = new XMLHttpRequest();
      req.open("POST", url, true);
      req.setRequestHeader("Content-Type", "application/json");
      req.addEventListener("load", function () {
        if (req.status < 400) {
          callback(null, JSON.parse(req.responseText));
        } else {
          callback(new Error("Request failed: " + req.statusText));
        }
      });
      req.send(JSON.stringify(body));
    }
const handleSubmit = (e) => {
      e.preventDefault();
      console.log(this.state.form);
      post(url, this.state.form, function (err, res) {
        if (err) {
          return alert(err);
        }
        alert("success");
      });
    };

ответ, который я получаю от AWS:

{
message: "Missing Authentication Token"
}

Я пробовал эти шаги AWS уроки при отсутствии токена

Postman

Я проверил URL-адрес 1000 раз, и если я чего-то не упустил, он верен. Вызов URL: https://EXAMPLE.execute-api.us-east-1.amazonaws.com/prod/email/send

также пробовал все, начиная с здесь

Не уверен, что у меня не так и почему почтальон работает, но мой код не t любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 09 мая 2020

Попробуйте следующее:

req.withCredentials = true;

Ссылка: здесь

...