我想使用http://5.160.2.148:8091/api/trainTicketing/city/findAll http://5.160.2.148:8091/api/trainTicketing/city/findAll在我的角度项目中休息一下获取城市。
我在我的项目中使用了 7.2.15 版本的 Angular。
当使用 httpClient 获取此 url 时,会抛出以下错误:
Access to XMLHttpRequest at 'http://5.160.2.148:8091/api/trainTicketing/city/findAll' from origin 'http://localhost:4200' 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.
在浏览器和邮递员中输入 url 时正常工作。
why ?
解决方案 1 - 您需要更改后端以接受传入请求
解决方案 2 - 使用 Angular 代理see here https://medium.com/@spencerfeng/setup-a-proxy-for-api-calls-for-your-angular-cli-app-6566c02a8c4d
请注意,这仅适用于ng serve
,你不能使用代理ng build
解决方案 3 -IF您的后端接受来自通配符域的请求,例如*.mydomain.example
然后你可以编辑你的hosts
文件并添加127.0.0.1 local.mydomain.example
在那里,然后在你的浏览器中而不是localhost:4200
enter local.mydomain.example:4200
注意:它通过邮递员工作的原因是邮递员不会发送预检请求,而您的浏览器会发送。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)