IONIC, Access-Control-Allow-Origin
IONIC, Access-Control-Allow-Origin
我试图使用以下代码发送带有$http(angular)的http请求:
$http({ method: 'GET', url: 'http://192.168.0.17:9000', header: {'Access-Control-Allow-Origin': "*"}, }).then(getEventsSuccess, getEventsError);
但是这没有起作用,我在Web控制台中看到以下错误:
XMLHttpRequest无法加载http://192.168.0.17:9000/。所请求的资源上没有'Access-Control-Allow-Origin'头。因此,不允许访问来源'http://localhost:8100'。
你有解决办法吗?
当你在浏览器中看到这个错误时,是因为浏览器实施了一种安全机制,称为同源策略。基本上,它是由于你的网页尝试访问一个与网页本身不同的主机、端口或协议(HTTP / HTTPS / file等)上的资源而引起的。
为了解决这个问题,可以采取以下几种方法之一:
1.将网页从你尝试访问的服务器上提供。如果你的网页URL是"http://192.168.0.17:9000/X.html",你的请求应该成功,错误将消失。
2.在你的服务器发送的响应中添加一个特殊的头部,称为Access-Control-Allow-Origin。
这个问题的更多信息可以在以下链接中阅读:
同源策略:https://en.wikipedia.org/wiki/Same-origin_policy
访问控制CORS:https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS