角度2-httpClient返回空标题

时间:2018-06-20 23:36:29

标签: angular

我正在使用httpClient执行Web服务,但是我的问题是响应头始终为空,我已经检查了thisthis并且无法使其正常工作,这是我的服务:

iniciarSesion(usuario: Usuario) {

const idSistema = environment.idSistema;
const url = environment.url + environment.mssesiones;
return this.httpClient.post(
  url,
  {
    usuario: usuario.usuario,
    contrasena: usuario.contrasena,
    idSistema: idSistema
  },
  {
    headers: new HttpHeaders({
      'Content-Type':  'application/json'
    }),
    observe : 'response'
  });
}

这是执行服务的组件:

this.inicioSesionService.iniciarSesion(usuario).subscribe(
        (httpResponse: HttpResponse<Object>) => {
          console.log(httpResponse);
      });

有人可以帮助我解决这个问题吗?,

谢谢。

1 个答案:

答案 0 :(得分:1)

搜索后,我发现问题出在服务(弹簧启动服务)上,我需要像这样添加Access-Control-Expose-Headers

headers.add("authorization", jwtUtil.generateToken(usuario, peticion.getRemoteAddr()));
headers.add("Access-Control-Expose-Headers", "authorization");

我注意到httpResponse在执行之前一直返回空标题:

httpResponse.headers.get('authorization');

执行完之后,console.log显示标题信息,我不了解它的行为,但是现在可以正常工作了。