自定义标题问题 (CORS)

问题描述

我使用 Angular 10(前端)和 Node.js(后端)制作了 Web 应用程序。但是当我通过添加标题发送请求时,它不起作用。 (它在关闭 CORS 并在 Chrome 上发送请求时起作用) 我发现在 StackOverflow 上缺少一些类似的答案,但不幸的是,这些对我不起作用:|

我发送了如下请求,

getAllSubmissions() {
    let token = sessionStorage.getItem('auth-token');
    let path = this.globe.base_path + 'get-submissions';
    this.http.get<any>(path,{headers:{'Access-Control-Allow-Origin':'*','auth-token':token}}).toPromise().then(data => {
      this.allsubmissoinsFiltered = data.filter(sub => sub.status != 'active')
      this.allSubmissionsCount = this.allsubmissoinsFiltered.length;
    }).catch(err => {
      console.log(err)
    })
  }

此外,我也在尝试以下代码

getAllSubmissions() {
    let token = sessionStorage.getItem('auth-token');
    var header = { headers: new HttpHeaders().set('auth-token',token) }
    let path = this.globe.base_path + 'get-submissions';
    this.http.get<any>(path,header).toPromise().then(data => {
      this.allsubmissoinsFiltered = data.filter(sub => sub.status != 'active')
      this.allSubmissionsCount = this.allsubmissoinsFiltered.length;
    }).catch(err => {
      console.log(err)
    })
  }

两种类型都不能正常工作。

我该如何解决这个问题?希望等待您的宝贵回复

解决方法

试试下面的代码,

getAllSubmissions() {
    let token = sessionStorage.getItem('auth-token');
    var header = { headers: new HttpHeaders().set('Authorization',token) }
    let path = this.globe.base_path + 'get-submissions';
    this.http.get<any>(path,header).toPromise().then(data => {
      this.allsubmissoinsFiltered = data.filter(sub => sub.status != 'active')
      this.allSubmissionsCount = this.allsubmissoinsFiltered.length;
    }).catch(err => {
      console.log(err)
    })
  }

这会起作用。