我目前正在使用 Angular 向运行 ASP.NET 的 API 服务器发出 API 调用。但是,对于角度开发,我有一个跨域问题,我使用的是 localhost。在生产版本中,它们都将使用 IIS 在同一域下运行。
有没有办法在 ASP.NET 的同一端口上运行 Angular 应用程序?
P.S.:我也对解决这个问题的其他替代方案持开放态度。
我也遇到了同样的问题,然后我发现这篇文章在媒体上 https://medium.freecodecamp.org/the-best-ways-to-connect-to-the-server-using-angular-cli-b0c6b699716c,希望这对你有用。
编辑:
实际上我使用的解决方案来自那篇文章。
这个想法是,您不能在同一端口上“发布”API 和 Angular 应用程序,但您可以使用代理从 Angular 应用程序连接到另一个端口上的 API。
Update: 抱歉这么久没有回复。
要处理 cors 问题(在本例中),您可以使用代理ng serve
命令。
例如,就我而言,我使用了proxy.conf.json
像这样的文件:
{
"/api/*": {
"target": "http://localhost:3000",
"secure": false,
"pathRewrite": {"^/api" : ""}
}
}
此代码将每个请求的 url 重写为/api/*
to the http://localhost:3000
你的 api 正在监听的地方。
因此,为了说明这一点,如果您在角度中提出如下请求http://localhost:4200/api/users
它将被重定向/重写到http://localhost:3000/api/users
解决cors问题。
现在,运行 Angular 应用程序的方式有所不同。
ng serve --proxy-config proxy.conf.json
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)