gpt4 book ai didi

asp.net - 被 CORS 政策阻止 : Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response

转载 作者:行者123 更新时间:2023-12-04 00:03:10 25 4
gpt4 key购买 nike

我有一个网站 1 和一个 Web API 2
我的 Web API 有一个方法名称

 public string Index()
{
return "Hello world from site 2";
}

在 Controller 值中。
我从网站 1 调用我的 API 那样
$.ajax({
url: relativeUrl,
headers: { "Authorization": "Bearer " + accessToken },
type: "GET"
})
.done(function (result) {
console.log("Result: " + result);
alert(result);
})
.fail(function (result) {
console.log("Error: " + result.statusText);
alert(result.statusText);
});

但是我的 js 控制台中有以下错误。

Access to XMLHttpRequest at ‘Web API 2' from origin ‘Web site 1’ has been blocked by CORS policy: Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response.



我在我的 Controller 中添加:
[EnableCors(origins: "*", headers: "*", methods: "*", exposedHeaders: "X-Custom-Header")]

在我的 WebAPIConfig.cs 中
config.EnableCors();

在我的 Web.config 中
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>

但即使如此,我仍然有错误,我不明白我需要添加什么以及在哪里。

最佳答案

你有

<add name="Access-Control-Allow-Headers" value="Content-Type" />


headers: { "Authorization": "Bearer " + accessToken },

换句话说,访问控制设置只允许“内容类型” header ,但您的请求正在发送“授权” header 。显然,这两件事并不相符。

该错误非常清楚地告诉您 Access-Control-Allow-Headers 响应 header 不允许“授权”请求 header 。

尝试
<add name="Access-Control-Allow-Headers" value="Content-Type, Authorization" />

反而。

附言我认为您不需要同时使用 web.config 设置和 EnableCors 操作过滤器。我认为您在这里的 EnableCors 声明是多余的。有关更多信息,请参阅 https://stackoverflow.com/a/29972098/5947043

有关更多信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers

关于asp.net - 被 CORS 政策阻止 : Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55869945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com