我在本地虚拟主机(http://foo.app:8000)上运行一个角度应用程序。它正在向另一个本地 VirtualHost ( http://bar.app:8000 ) 使用$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-Credentials
也设置为true
。