.net core React js和.NET WebAPI的CORS问题

.net core React js和.NET WebAPI的CORS问题,.net-core,cors,.net Core,Cors,我有一个用React js制作的前端和一个用net core 2.0制作的后端。两者都在本地主机上运行(本地主机分别为3000和5001)。我所要做的就是让前端获取一些数据: fetch('https://localhost:5001/api/Login/' + this.state.username + '/' + this.state.password + '/') .then( results => { return results.json(); }

我有一个用React js制作的前端和一个用net core 2.0制作的后端。两者都在本地主机上运行(本地主机分别为3000和5001)。我所要做的就是让前端获取一些数据:

fetch('https://localhost:5001/api/Login/' + this.state.username + '/' + this.state.password + '/')
    .then( results => {
        return results.json();
    })
    .then( data => {
        this.setState({
            jobTitle : data.jobTitle,
        });
    });
此方法由按钮调用,因此每当我单击此按钮时,控制台中就会出现错误

已阻止跨源请求:同一源策略不允许读取位于的远程资源。(原因:CORS请求未成功)

这在运行Windows7的Firefox上发生

有趣的是,如果我在运行Mint的笔记本电脑上运行相同的代码,它就可以正常工作

该API是通过运行dotnet新的webapi制作的,我几乎没有做任何更改

我还尝试实现了在其他问题和文章中找到的一些解决方案,以及在firefox上使用Cors everything,但没有任何效果。我现在不知道该怎么办,所以非常感谢您的帮助


谢谢大家,这是因为大多数浏览器将
localhost:3000
localhost:5001
视为不同的主机,因此在API响应中需要CORS头,以使通信成为可能

在生产环境中,如果您将在同一主机名下托管它,则可能不会出现这种情况,但对于测试环境,您可以添加

response.setHeader('Access-Control-Allow-Origin', '*');
在API处理程序中,允许从所有来源访问API