使用 angular4 的 CORS 问题
Posted
技术标签:
【中文标题】使用 angular4 的 CORS 问题【英文标题】:CORS ISSUE using angular4 【发布时间】:2018-07-14 21:01:00 【问题描述】:我正在使用 Angular 4 应用程序。我正面临 CORS 问题。
对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'http://localhost:4200' 不允许访问。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
谁能帮我在本地和现场解决这个问题?
【问题讨论】:
编辑拼写和格式 【参考方案1】:您无需添加任何 Chrome 扩展程序。只需添加以下代码行即可。 这将解决 No 'Access-Control-Allow-Origin' 标头问题。
@CrossOrigin(origins = "http://localhost:4200")
【讨论】:
【参考方案2】: You can use CORS extension in chrome
https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en
after adding just toggle it and reload the page.
Or you can use xdomain library
Create a proxy.html on your server having below content
<html>
<head>
<script src="xdomain.min.js" data-master="*"></script>
</head>
<body></body>
</html>
// In script src tag give path of your "xdomain.min.js"
And in client side add xdomain.min.js file in your index.html file and add below snippet to index.html file
xdomain.slaves(
"http://serverIp:serverPort": "/contextPathIfAny/proxy.html"
);
【讨论】:
你有任何其他解决方案,因为它对于未知用户来说不是更好的解决方案 我在 localhost:4200 但是来自 auth0 的 api 你能告诉我如何在 localhost 中添加 xdomain 在你的服务器上创建一个proxy.html,内容如下 head> // 在脚本 src 标签中给出“xdomain.min.js”的路径并在客户端在 index.html 文件中添加 xdomain.min.js 文件并在下面添加sn-p 到 index.html 文件 xdomain.slaves( "serverIp:serverPort": "/contextPathIfAny/proxy.html" ); 您有任何其他解决方案【参考方案3】:这是一个后端问题,您需要在后端响应中将“Access-Control-Allow-Origin”标头设置为 * 或将其设置为您的前端域。
【讨论】:
以上是关于使用 angular4 的 CORS 问题的主要内容,如果未能解决你的问题,请参考以下文章
带有 PHP Api CORS 请求问题的 Angular4 应用程序
Angular 4 call couchdb有CORS错误,但提琴手中没有出现预检
net.core 和 angular4 应用程序的 Cors 问题 - 适用于 azurewebsites.net 域而不是自定义
Angular4 ASP.NET Core 1.2 Windows Authentication CORS for PUT 和 POST 给出 401