离子头无法通过http.post设置
问题描述:
return this.http.post(this.url + '/' + endpoint, body, {headers: {
'customHeader1': 'changed',
'customHeader2': 'changed2'
}});
上面的代码片段是我的http请求。我可以在没有标题对象的情况下进行调用,但是我调用的端点在我设置这些标题之前不会返回数据。添加这些标头会导致应用程序返回以下错误:离子头无法通过http.post设置
user.ts:50 ERROR TypeError: req.headers.forEach is not a function
如何解决此问题并在http请求中设置我的标头?
这是我进口
import { HttpClient, HttpParams } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Http, Response, RequestOptionsArgs, RequestMethod, Headers, Request
} from '@angular/http';
这是我的构造
constructor(public http: HttpClient) {}
答
我通常会创建一个选项的 '头'
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers });
对象,然后用它
this.http.post(this.url + '/' + endpoint, body, options)
如在此处所述:https://www.concretepage.com/angular-2/angular-2-http-post-example
修复了我收到的错误,但标头未在请求中设置 – user3044394