如何解决在Herman上运行Postman的API上的POST请求,但在React Heroku应用上不起作用
我在https://api.MYCUSTOMDOMAIN.ca
上托管了Heroku上的API,我尝试通过https://www.MYCUSTOMDOMAIN.ca
向其发送axios POST请求,该请求变成了GET请求,并作为OPTIONS请求登录到Heroku中。通过Postman向API发出的POST请求可以正常工作。
我一直在与CORS一起玩耍,认为它可能与预检有关,但是似乎没有做任何事情。
在其他文章中,我也看到了有关由于HTTP到HTTPS重定向而将POST请求更改为GET请求的评论。如果这是可能的原因,我该如何防止丢失数据和更改后的POST发生?
通过https://www.MYCUSTOMDOMAIN.ca
制作的请求标头
来自https://api.MYCUSTOMDOMAIN.ca
的响应标头Heroku应用日志示例
编辑:根据要求,这是我在应用程序入口点中的CORS设置。 https://www.MYCUSTOMDOMAIN.ca
是corsWhitelist
中指定的允许来源之一。
import express from "express";
import cors,{ CorsOptions } from "cors";
const app = express();
const corsWhitelist: string[] = [ /* allowed origins */ ];
const corsOptions: CorsOptions = {
origin: (origin: string | undefined,callback: Function) => {
if(typeof(origin) === "string" && corsWhitelist.indexOf(origin) !== -1) callback(null,true);
else callback(null,false);
},credentials: true,methods: ["GET","POST","PUT","PATCH","DELETE","HEAD","OPTION"],optionsSuccessStatus: 204
};
app.use(cors(corsOptions));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。