在angular2中读取自定义标题

时间:2018-03-01 12:47:47

标签: .net angular http core

我创建了.NET Core WebAPI,并在每个请求中将自定义标头添加到响应中。

context.Response.Headers.Add("X-Access-Token", newToken);

我还在服务器端提供了cors:

app.UseCors(config =>   config.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin());

在Augular2方面的每个请求我都在过滤并尝试获取" X-Access-Token"标题,但返回null。

 getVehiclesReport(dateFrom: Date, dateTo: Date, loaderName): Observable<IVehiclesReport> {
            return this.http.get(this.baseUrl + "report/vehicles/" + this.getQueryDate(dateFrom) + "/" + this.getQueryDate(dateTo), this.jsonHeadersAuth)
            .map((response: Response) => this.mapResponse(response, response =><IVehiclesReport>response.json()))
            .catch(this.handleError)
            .finally(() => this.ajaxService.push(loaderName));
    }


 protected mapResponse<TResult>(response: Response, func : Func<Response, TResult>): TResult {
        let token = response.headers.get("X-Access-Token");
        //returns null

        if(token && token != null && token != ''){
            this.localStorageService.setJwtToken(token);
        }

        return func(response);
    }  

但是我可以在Developer Options / Network / Response Headers中看到我的X-Access-Token。

somone是否面临过这个问题?

1 个答案:

答案 0 :(得分:0)

谢谢大家,我才知道。当我添加自定义标头时,我还需要添加“Access-Control-Expose-Headers”。

Soultion:

regexp1 = re.findall('.*?^(day+,\s,month_name+\s[0-9][0-9][0-9][0-9])$.*', text)