Angular 5中的http.post请求中,Authorization头未设置。
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请求如下:
请帮忙。
在使用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的方法。希望对大家有所帮助!