在我的Angular 5应用中,我尝试连接到我的服务器:
constructor(private httpClient: HttpClient) {
let headers = new HttpHeaders();
headers = headers.append("Authorization", "Basic " + btoa('username:password'));
this.httpClient.post('https://.../dataForFormat.php', {
format: "Bob"
}, {
headers: headers
})
我得到了这样的错误:
无法加载https://.../dataForFormat.php:对预检请求的响应未通过访问控制检查:否' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://localhost:4200'因此不允许访问。响应的HTTP状态代码为401。
但是,如果我执行一个简单的curl命令来发送OPTIONS标题以查看返回的内容,那些标题肯定在那里:
HTTP / 1.1 200 OK
日期:2018年2月3日星期六02:42:33 GMT
服务器:Apache / 2.4.18(Ubuntu)
Access-Control-Allow-Origin:*
访问控制 - 暴露 - 标题:内容长度,内容编码,内容类型
访问控制允许方法:GET,POST,PATCH,PUT,DELETE,OPTIONS
Access-Control-Allow-Headers:*
内容编码:gzip
内容长度:222
Content-Type:application / json