Angular 5在拦截时更改我的原始请求对象

时间:2017-12-07 17:01:14

标签: angular angular-http

我试图通过拦截所有请求来添加一些新标头。以下是我的拦截代码

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对象。任何人都对这个问题有所了解。

0 个答案:

没有答案