微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

本地 axios 调用无法连接到本地 .net core API

如何解决本地 axios 调用无法连接到本地 .net core API

我正在尝试在 .net core API (VS2019 .net core 2.2) 上测试一些性能问题

我可以使用 swagger 在本地机器上运行 API。

使用我在本地运行的 axios 调用从 ReactJS Web 应用程序调用 API。调用位于 Azure 服务器(开发、测试、生产)上的 API 成功。

当我从 Web 应用程序调用本地 API 时,API 收到请求并返回响应,但未从 Web 应用程序中接收到响应。我收到此错误

错误:网络错误 在 createError (http://localhost:3000/static/js/0.chunk.js:149705:15) 在 XMLHttpRequest.handleError (http://localhost:3000/static/js/0.chunk.js:149256:14) {config: {…},请求:XMLHttpRequest,响应:未定义,堆栈:'错误:网络 错误 在 createError (http...ocalhost:3000/static/js/0.chunk.js:149256:14)',消息: “网络错误”}

我在类似的帖子中看到这可能是 CORS 问题。 API 将 CORS 设置为

app.UseCors(policy => policy.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin().AllowCredentials());

有没有人知道我可以尝试找出为什么我无法将 Web 应用程序连接到本地的 api?

提前致谢 汉克

解决方法

指定 AllowAnyOriginAllowCredentials 是一种不安全的配置,可能会导致跨站点请求伪造。当应用配置了这两种方法时,CORS 服务会返回无效的 CORS 响应。

您可以将 AllowAnyOrigin 更改为 WithOrigins("Specify the send request origin")

app.UseCors(policy => policy.AllowAnyHeader().AllowAnyMethod()
                            .WithOrigins("Specify the send request origin").AllowCredentials());

或者您可以将 AllowAnyOrigin 更改为 .SetIsOriginAllowed(_ => true)

app.UseCors(policy => policy.AllowAnyHeader().AllowAnyMethod()
                            .SetIsOriginAllowed(_ => true).AllowCredentials());

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。