AWS Lambda函数在Postman中进行测试时可以使用,但是当我尝试在ReactJS中实现时,我得到的状态码为500

问题描述 投票:0回答:1

我与ReactJS一起尝试使用AWS Lambda和SES创建联系表单。我正在按照此guide进行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 lessons on missing token

Postman

我已经将该网址检查了1000次,除非我丢失了某些内容,否则它是正确的。调用网址:https://EXAMPLE.execute-api.us-east-1.amazonaws.com/prod/email/send

还尝试了here中的所有内容

不确定我的错以及邮递员为什么工作,但是我的代码没有任何帮助,将不胜感激。

reactjs amazon-web-services post lambda aws-api-gateway
1个回答
0
投票

尝试一下:

req.withCredentials = true;

参考:here

© www.soinside.com 2019 - 2024. All rights reserved.