gpt4 book ai didi

angular - 从源 'API_URL' 访问 'http://localhost:8080' 处的 XMLHttpRequest 已被 CORS 策略 : 阻止

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

Access to XMLHttpRequest at 'API_URL' from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.



当我运行我的本地主机系统来访问服务器 API 时。它将生成 token 而不是我收到类似上述错误的错误。请帮我。

最佳答案

最佳选择:CORS header (需要更改服务器)
CORS(跨域资源共享)是服务器说“我会接受你的请求,即使你来自不同的来源”的一种方式。这需要服务器的合作——所以如果你不能修改服务器(例如,如果你使用外部 API),这种方法将不起作用。

修改服务器以添加头 Access-Control-Allow-Origin: * 以启用来自任何地方的跨域请求(或指定域而不是 *)。这应该可以解决您的问题。

第二选择:代理服务器
如果你不能修改服务器,你可以运行你自己的代理。如果它与您的页面不在同一来源,则此代理可以返回 Access-Control-Allow-Origin header 。

您不会向某个远程服务器发送 API 请求,而是向您的代理发出请求,代理会将它们转发到远程服务器。

对于第一个选项,如果使用 .Net Core:

       services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});




app.UseCors("CorsPolicy");

关于angular - 从源 'API_URL' 访问 'http://localhost:8080' 处的 XMLHttpRequest 已被 CORS 策略 : 阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56831813/

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