在我的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标头以查看返回的内容,那些 Headers 肯定在那里:

HTTP / 1.1 200 OK日期:星期六,03二月201 02 02:42:33 GMT服务器:Apache / 2.4.18(Ubuntu)访问控制允许 - 来源:*访问控制 - 暴露 - Headers :内容长度,内容编码,内容类型访问控制允许方法:GET,POST,PATCH,PUT,DELETE,OPTIONS访问控制允许 Headers :*内容编码:gzip内容长度:222内容类型:应用程序/ JSON