我想通过 AWS 上的 lambda 函数发送电子邮件。我还使用了API网关。我在那里启用了 cors,并使用 lambda 函数和 React 应用程序发送 header 。
Lambda函数
var response = {
statusCode: 200,
headers: {
'Access-Control-Expose-Headers': 'Access-Control-Allow-Origin',
'Access-Control-Allow-Credentials': true,
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
}
};
我的 React 应用
const awsEndpoint = 'myawsendpoint.amazonaws.com'
axios.post(awsEndpoint, {
headers: {
'Access-Control-Expose-Headers': 'Access-Control-Allow-Origin',
'Access-Control-Allow-Credentials': true,
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
},
formEmail,
formSubject,
formMessage
})
在控制台中我收到以下错误 chrome-console-error
最佳答案
要解决此问题,您需要在 AWS API Gateway 控制台中更新 CORS 策略(针对每个路由、GET、DELETE、OPTIONS 等)。我会阅读这篇很棒的 Medium 文章,其中有屏幕截图和 cors 的详细解释
解决方案:https://codeburst.io/react-js-api-calls-to-aws-lambda-api-gateway-and-dealing-with-cors-89fb897eb04d
关于reactjs - 如何在AWS中API网关和React应用程序之间启用CORS策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57099635/