首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将数据从React.js应用程序发布到AWS?

如何将数据从React.js应用程序发布到AWS?
EN

Stack Overflow用户
提问于 2021-01-17 17:13:36
回答 1查看 771关注 0票数 1

我试图通过API网关将一些数据从我的React应用程序发送到AWS Lambda。这是我目前的反应代码:

代码语言:javascript
复制
const exampleObj = { firstName: 'Test', lastName: 'Person' };

fetch(process.env.REACT_APP_PUSH_API_ENDPOINT, {
  method: 'POST', // or 'PUT','
  mode: 'cors',
  body: JSON.stringify(exampleObj),
})
  .then((response) => {
    return response.json();
  })
  .then((json) => console.log(json));

我一直收到一个Internal Server Error错误。当我试图添加'Access-Control-Allow-Origin: '*'的头时,我会得到一个Reason: CORS header ‘Access-Control-Allow-Origin’ missing错误。我知道这个消息是因为CORS而产生的,但是我尝试了几种不同的方法,包括添加代理。我的AWS Lambda代码如下所示:

代码语言:javascript
复制
import json
def lambda_handler(event, context):
    name = event['firstName']
    
    return {
        "statusCode": 200,
        "headers": {
            "Access-Control-Allow-Origin" : "*",
            "Access-Control-Allow-Credentials" : True
        },
    "body": json.dumps({
        "name": name
    })
}

我发现,当我试图从Lambda中的事件中获取POST数据时,就会出现这个问题。我不知道该怎么做,我们非常感谢你的帮助。

编辑:我使用创建我的React应用程序,我使用Firefox进行测试。然而,由于CORS错误和火狐不允许http://localhost:3000访问https链接,我在Chrome上进行了测试,结果得到了相同的错误。

编辑2:我想明白了!我能够登录到CloudWatch (感谢那些帮助我的评论中的人),我意识到当它使用postData = json.loads(event['body'])进入AWS时,我不得不“解开”它。其余代码保持不变。

如果有人能结束这个问题/把它标记为已解决,那就太好了。谢谢!

EN

Stack Overflow用户

发布于 2021-12-13 19:30:05

在Lambda函数中,首先尝试加载事件:

代码语言:javascript
复制
def handler(event, context):
  incoming_body = json.loads(event['body'])
  firstname= incoming_body['firstname']

  return {
      'statusCode': 200,
      'headers': {
          'Access-Control-Allow-Headers': '*',
          'Access-Control-Allow-Origin': '*',
          'Access-Control-Allow-Methods': 'OPTIONS,POST,GET'
      },
      'body': json.dumps(firstname)
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65763615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档