相关疑难解决方法(0)

Angular 2:获取授权标题

在我的应用程序(Angular 2/Ionic 2)中,我实现了自己的登录/身份验证.基本上它的工作方式如下:在登录时,PHP后端正在验证用户名和密码.生成令牌,然后将其发送回标题中的前端(授权).后端的响应如下:

HTTP/1.1 200 OK
Host: localhost:8080
Connection: close
X-Powered-By: PHP/5.6.28
Set-Cookie: PHPSESSID=jagagi2le1b8i7r90esr4vmeo6; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: application/json
 Authorization: d7b24a1643a61706975213306446aa4e4157d167eaad9aac989067a329c492d3
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: X-Requested-With, Content-Type, Accept, Origin, Authorization
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Content-Length: 301
Run Code Online (Sandbox Code Playgroud)

显然有一个带有令牌的Authorization标头.CORS似乎也可以正确设置,因为我在Allow-Headers标头中看到了Authorization.

但是,当我尝试在Angular 2中获取头时,它总是返回null:

private extractDataAndSetAuthHeader(res: Response) {

    // Set auth header if available.
    // If not available - user is not logged in. Then 
    // we also have to remove …
Run Code Online (Sandbox Code Playgroud)

authentication ionic2 angular

9
推荐指数
2
解决办法
9563
查看次数

Angular 6 - HTTP响应200在订阅中为空

我有以下http.service.ts用于调用/loginAPI的Angular .

login(user: User) {
    console.log("logging in");
    console.log(JSON.stringify(user));
    this.http
        .post<any>(this.loginURL, user, httpOptions)
        .subscribe(
            res => console.log('response : ' + res),
            err => console.log('error : ' + err))
}
Run Code Online (Sandbox Code Playgroud)

这是一个非常标准的POST电话,但它总是返回null,我无法理解.这是NetworkGoogle Chrome的标签信息

在此输入图像描述

Chrome的Console信息

在此输入图像描述

我无法理解为什么回应null.即使我没有有效载荷,它至少应该headers可用吗?

post angular angular-httpclient angular6

5
推荐指数
1
解决办法
6395
查看次数