繁体   English   中英

CORS 仅 POST 请求错误:AWS HTTP API 网关

[英]CORS Error for Only POST request: AWS HTTP API Gateway

所以我的AWS HTTP API GATEWAY被集成到一个Lambda Function。

这是我在 AWS 上的 CORS 配置。 CORS配置

我的 GET 和 POST(无正文)请求工作正常。 在此处输入图像描述

但是当我用一些数据/主体发出 POST 请求时,它有一个 CORS 错误。

Access to XMLHttpRequest at 'https://api_url/test' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

我了解浏览器如何在原始 POST 请求之前向服务器发送 OPTIONS 请求。

这是 OPTIONS 请求的 CORS 错误。 在此处输入图像描述

以下是我如何使用 axios 从反应应用程序调用我的请求。

const res_post = axios.post(`${process.env.REACT_APP_AWS_API_GATEWAY}/test`, {key: "value"}).then((res) => {
    console.log("AXIOS POST REQUEST 2 RESULT", res, res.data);
});

我尝试在 axios 呼叫中添加听众,运气不好。 正如一些答案所建议的那样,我为 OPTIONS 请求添加了一条路线(for / & /test),不幸的是没有运气。 在此处输入图像描述

我花了 4 个多小时找出并应用了 stackoverflow 上的所有解决方案。 如果有人能指出正确的方向,我将不胜感激。 我已经阅读了多个 stackoverflow 问题并应用了其中的几个。

参考这个: Vue & Axios + AWS API Gateway & Lambda - CORS + POST not working

即使我添加了一种处理 OPTIONS 请求的方法。 我的 lambda function 正在返回并且响应为空。 我修好了,它起作用了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM