Angular 5中的http.post请求中,Authorization头未设置。

22 浏览
0 Comments

Angular 5中的http.post请求中,Authorization头未设置。

const httpOptions = {
          headers: new HttpHeaders({
            'Content-Type':  'application/x-www-form-urlencoded',
            'Authorization': 'Basic d2ViYXBwOjExMTE=',
            'Access-Control-Expose-Headers' : 'Authorization',
            'Accept' : 'application/json'
          })
        };
    return this.http.post(oauth2_token_endpoint, {}, httpOptions);

请帮忙翻译成中文。

截图中的HTTP请求如下:

enter image description here

请帮忙。

0
0 Comments

在使用Angular 5的http.post方法时,发现无法设置Authorization header。下面将介绍问题的原因以及解决方法。

问题的原因是在http.post方法中,无法直接设置Authorization header。在Angular 5中,需要使用HttpHeaders来设置header。

解决方法如下:

1. 首先,在Angular 5中,需要导入HttpClient和HttpHeaders模块。可以使用以下代码导入:

import { HttpClient, HttpHeaders } from '@angular/common/http';

2. 然后,在http.post方法中,需要创建一个HttpHeaders对象,并将Authorization header添加到该对象中。可以使用以下代码创建HttpHeaders对象:

const httpOptions = {
    headers: new HttpHeaders({ 'Content-Type': 'application/json' })
};

3. 最后,在http.post方法中,将httpOptions作为第三个参数传递进去。可以使用以下代码实现:

this.http.post(url, data, httpOptions).subscribe(
    response => {
        // 处理响应
    },
    error => {
        // 处理错误
    }
);

通过以上步骤,就可以成功设置Authorization header,并发送带有该header的http.post请求了。

以上就是解决Angular 5 http.post方法无法设置Authorization header的方法。希望对大家有所帮助!

0