当前位置: 首页 > 知识库问答 >
问题:

请求api网关cors错误

阎安邦
2023-03-14
Enable CORS

✔加200积分响应期权法

✔将Access-Control-Allog-Headers,Access-Control-Allog-Methods,Access-Control-Allog-Origin方法响应头添加到OPTIONS

✔将Access-Control-Allow-Headers,Access-Control-Allow-Methods,Access-Control-Allow-Origin集成响应头映射添加到OPTIONS方法

XMLHttpRequest无法加载https://xxxxxxx.amazonaws.com/xxxx/xxxx。请求的资源上没有“访问-控制-允许-来源”标头。因此,不允许访问源'http://localhost:7076'。响应的HTTP状态代码为400。

我应该做哪一步?

共有1个答案

司空浩邈
2023-03-14

最后我发现了我的错误!从AJAX发送到API网关的有效负载不是JSON格式的,但LAMBDA的输入只支持JSON格式的数据,这导致LAMBDA不能正常处理输入。这反过来导致了Lambda的操作失误。

当这种情况发生时,API网关将不会收到正常的响应,因此它不会向客户机(AJAX)返回'Access-Control-Allow-Origin',因此不会出现HTTP错误的头部。

在我使用json.stringify()函数处理了有效负载之后,这个问题就解决了。

 类似资料:
  • 我试图从dark sky api获取天气数据,但我一直得到一个cors错误。这是我的密码: 我收到一个错误“XMLHttpRequest无法加载”https://api.darksky.net/forecast/febb2871126cd24613f32a79c32d4158/38.5815719,-121.4943996。请求的资源上不存在“Access Control Allow Origin

  • 在做了一些研究后,我发现这是一个CORS问题。我正在使用谷歌应用程序引擎与Python。这个错误是我可以修复的,还是API的bug?我已经设法用这个API做了一个POST请求,没有问题。我已经阅读了很多关于CORS的信息,但还没有找到解决这个问题的方法。 下面是GET请求的Javascript代码,它只是从Trello API复制/粘贴的,所以我不确定哪里出了问题:

  • 我试图使用CloudFormation在API网关中部署一个API。这些方法要求启用CORS,我按照这里的模板在Cloudformation模板中启用CORS for API Gateway来做到这一点。这是我的模板 部署API后,方法返回一个200,响应标头如下 访问-控制-允许-起源→* 通过→1.1 sdlkfnsdlk.CloudFront.net(CloudFront) X-AMZ-CF

  • 我正在使用react.js应用程序调用API。我从AWS API网关收到关于CORS策略的错误: CORS策略阻止从来源“http://localhost:3000”访问位于“https://awsapigatewayid.execute-api.ap-south-1.amazonaws.com/staging/top10”的XMLHttpRequest:飞行前响应中的access-control

  • 我对API网关和Lambda非常陌生。我正在尝试将基于Node.js Express的API部署到lambda。我使用的是AWSlapes中的aws无服务器express示例。因此,我的大部分AWS配置都是自动为我创建的。 似乎我的API通过API网关正常工作。我的post和get方法工作正常。但是,我需要支持CORS。我的应用程序应该返回正确的CORS对选项请求的响应,但它在AWS上不起作用。

  • 我试图使用java脚本访问一个AWS api网关来调用一个带有传递头的lambda。通过邮递员测试效果很好。 我得到以下信息: 我在GET和OPTION方法上启用了CORS,但没有用。 我可以坦率地承认,我只是几乎不明白CORS的概念,我是否错过了一些非常明显的东西?