在Angular 6应用程序中从服务器返回的标头中看不到cookie,但在Postman中可以看到它

时间:2018-10-29 13:21:03

标签: cookies angular6

我正在运行Angular 6应用程序。我将POST请求发送到API,他们向我返回200 OK,并且还设置了一个cookie。在邮递员中发出请求时,我可以在响应标题中看到设置的cookie,但是我的Angular应用未设置cookie?

login(loginDetails: any): Observable<any> {
const headers = new HttpHeaders().set('Content-Type', 'application/json; charset=utf-8');

return this.http
  .post(this.getRootUrl() + '/Login',  JSON.stringify(loginDetails), {headers: headers, withCredentials: true, observe: 'response'})
  .map((response: any) => {
    // console.log(response);
    return true;
  })

}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

如果要在登录API调用后设置Cookie

login(data).subscribe((response: any) => {
if (response.code == 200) {
    this.commonService.setCookie('userAuthData', response.data);                
    // Redirect to dashboard page 
  }
  else {        
    // Redirect to login page 
  }
});

常用服务:

import { CookieService } from "ngx-cookie-service";

constructor(private cookieService: CookieService)...
setCookie(key, value) {
   this.cookieService.set(key, value, 1, '/');
}