我正在本地虚拟主机http://foo.app:8000上运行一个Angular应用程序。 它正在使用$http.post
向另一个本地虚拟主机http://bar.app:8000发出请求。
$http.post('http://bar.app:8000/mobile/reply', reply, {withCredentials: true});
在Chrome开发者工具的网络选项卡中,我当然能看到OPTIONS请求,并且响应包括头信息:
在Chrome开发者工具的“网络”标签中,我可以看到OPTIONS请求,响应中包含了该头部信息:
Access-Control-Allow-Origin: http://foo.app:8000
然而,使用POST请求时出现以下错误取消:
请求的资源上没有“Access-Control-Allow-Origin”标头。 因此,不允许访问来源为'http://foo.app:8000'。
有人遇到过这种情况吗? OPTIONS请求的响应中明确包含了Access-Control-Allow-Origin 标头,因此我无法理解为什么POST好像缺少这个标头。
Access-Control-Allow-Credentials
也设置为true 。