我试图通过拦截所有请求来添加一些新标头。以下是我的拦截代码
import { Injectable } from '@angular/core';
import { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';
import { Observable } from "rxjs/Observable";
import { post } from 'selenium-webdriver/http';
@Injectable()
export class WhypinsHttpInterceptor implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const authReq = req.clone({ headers: req.headers.set('data1', 'somedata'), method: req.method });
console.log(authReq);
return next.handle(authReq);
}
}
现在我的实际请求对象在原始请求的主体中包含一个json字符串。但是在执行克隆原始请求并在发送请求对象时添加了新的头信息后,请求的方法从POST方法转换为OPTIONS。并且在克隆之后移除了身体json对象。任何人都对这个问题有所了解。