我正在本地虚拟主机(http://foo.app:8000)上运行有角度的应用程序。它使用发出了对另一个本地VirtualHost(http://bar.app:8000)的请求$http.post。
$http.post
$http.post('http://bar.app:8000/mobile/reply', reply, {withCredentials: true});
当然,在Chrome开发者工具的网络标签中,我看到了OPTIONS请求,响应中包含标题:
Access-Control-Allow-Origin: http://foo.app:8000
但是,POST请求被取消,并出现以下错误:
所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问源’ http://foo.app:8000 ‘。
有人经历过吗?该Access-Control-Allow- Origin头非常清楚地包含在OPTIONS的响应请求,所以我不能为我的生命弄清楚为什么POST充当头不见了。
Access-Control-Allow- Origin
Access-Control-Allow-Credentials也设置为true。
Access-Control-Allow-Credentials
true
对于本地开发人员来说,这是Chrome中的错误。尝试其他浏览器。这样就可以了。